작성
·
52
0
안녕하세요. 강의 잘 듣고 있습니다
선결지식 확인 질문과, 강의 질문이 있습니다.
Q1. 원래는 프로듀서 모듈, 컨슈머 모듈, 클라이언트(API)
이렇게 3개의 모듈로 분리되어서 처리되는게 맞는거죠?
그리고 모듈이라하는거는 하나의 jar로 묶일 수 있는 모듈과, 각각 pid를 갖는 단일 프로세스 모듈 이렇게 있는데
보통은 프로듀서/컨슈머/클라이언트 모듈이라 하면 후자를 지칭하는 것도 맞구요!?
Q2. 강의에서 애플리케이션을 jar로 말아서 2개를 띄우신 것은 어떻게 보면 현재 애플리케이션 내부에서 produce/consume/client 3개의 역할을 혼자 다 맡고 있기때문에
의도하신 바는 consumer를 2개 띄웠을 경우 RR 방식으로 동작한다는 것을 뜻하신게 맞을까요?
감사합니다 :)
답변 1
1
안녕하세요. 문의하신 사항이 모두 맞습니다.
부연드리자면,
1번 모듈 구성은 회사 업무 구조를 따라 다소 다를 수 있습니다만, 저는 API 서버(클라이언트는 브라우저나 앱에서 접근) 와 프로듀서, 컨슈모 모듈을 분리하는 것을 추천 드립니다.
이는 역할이 분명한 성격을 띄고 있고, 일반 비즈니스 모듈(API)의 배포가 빈번할텐데 이때 한묶음으로 프로듀서, 컨슈머가 같이 딸려서 배포가 다간다는게 잠재적으로 장애 위험이 있다고 봐야 하지 않을까 싶어서 나누는 걸 추천 드립니다.
2번, 워커(컨슈머) 노드들의 확장이 하나일때와 여러개일 때, 트래픽 증가에 따른 분배 처리를 보여드리려는 의도입니다. 노드는 트래픽 규모에 따라서 적절히 스케일링 하고, 큐 서버에서 분배 처리를 RR 혹은 Prefech 로 분해할 수 있다는 개념을 보여드리기 위해서 설정한 예제라고 보시면 됩니다.
감사합니다.
감사합니다 코드빌런님!!