작성
·
41
0
안녕하세요 원영님, 강의를 듣다가 궁금한 점이 생겼습니다.
1-1. 하나의 파티션은 여러 컨슈머에 할당될 수 없다고 하셨는데 엄밀히 말하면 '동일 컨슈머 그룹' 기준으로 여러 컨슈머에 할당될 수 없는게 맞을까요?
엘라스틱서치, 하둡 예제에 따르면 하나의 파티션이 엘라스틱서치,하둡 컨슈머에 할당되어 있어서요.
1-2. 컨슈머 그룹마다 동일 파티션에 대해 다른 offset를 가질까요?
엘라스틱서치, 하둡 예제를 보면 각각의 컨슈머가 동일한 파티션을 구독하고 있습니다. 만약 엘라스틱서치,하둡 컨슈머가 동일한 offset을 가진다면 어느 한쪽에서 이미 커밋한 레코드는 다른 쪽에서 poll하지 못할 것으로 예상되어 질문드립니다.
2.하나의 컨슈머가 여러 토픽을 구독하는 경우는 실무 기준으로 어떤 case가 있을지 궁금합니다.
강의 잘 듣고 있습니다. 감사합니다.
답변 1
0
안녕하세요~ 답변드리겠습니다
1-1. 하나의 파티션은 컨슈머 그룹에 묶인 컨슈머에 대해서 여러개가 할당될 수 없습니다. 즉, '동일 컨슈머 그룹' 일 경우에 대해서 할당이 안되는 것이 맞습니다. 서로 다른 컨슈머 그룹에 대해서는 별개로 동작합니다!
1-2. 컨슈머 그룹별로 파티션별로 다른 commit이 완료된 오프셋을 가집니다. 예를 들어 파티션이 3개인 토픽에 hdfs-group과 elasticsearch-group 이라는 각각의 컨슈머 그룹이 붙어 데이터를 처리한다고 했을 때, hdfs-group은 각 파티션에 해당하는 커밋된 오프셋이 3개 존재하고 elasticsearch-group에도 마찬가지로 각 파티션에 해당하는 커밋되 오프셋이 3개 존재할 수 있습니다. 서로 다른 컨슈머 그룹의 오프셋은 영향을 미치지 않는다는점 참고부탁드립니다.
2.하나의 컨슈머가 여러 토픽을 구독하는 경우는 실무 기준으로 흔하지는 않은것 같습니다. 스키마가 비슷하고 동시에 처리되어야 할 경우와 같이 특수한 경우에 여러 토픽을 구독할 상황이 있을 수는 있습니다.
감사합니다!
답글 감사합니다! 강의 잘들었습니다~