인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

김산님의 프로필 이미지

작성한 질문수

[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!

컨슈머 그룹

파티션, 컨슈머 그룹, 컨슈머 관련 질문

작성

·

41

0

안녕하세요 원영님, 강의를 듣다가 궁금한 점이 생겼습니다.

1-1. 하나의 파티션은 여러 컨슈머에 할당될 수 없다고 하셨는데 엄밀히 말하면 '동일 컨슈머 그룹' 기준으로 여러 컨슈머에 할당될 수 없는게 맞을까요?
엘라스틱서치, 하둡 예제에 따르면 하나의 파티션이 엘라스틱서치,하둡 컨슈머에 할당되어 있어서요.

1-2. 컨슈머 그룹마다 동일 파티션에 대해 다른 offset를 가질까요?
엘라스틱서치, 하둡 예제를 보면 각각의 컨슈머가 동일한 파티션을 구독하고 있습니다. 만약 엘라스틱서치,하둡 컨슈머가 동일한 offset을 가진다면 어느 한쪽에서 이미 커밋한 레코드는 다른 쪽에서 poll하지 못할 것으로 예상되어 질문드립니다.

2.하나의 컨슈머가 여러 토픽을 구독하는 경우는 실무 기준으로 어떤 case가 있을지 궁금합니다.

 

강의 잘 듣고 있습니다. 감사합니다.

답변 1

0

데브원영 DVWY님의 프로필 이미지
데브원영 DVWY
지식공유자

안녕하세요~ 답변드리겠습니다

 

1-1. 하나의 파티션은 컨슈머 그룹에 묶인 컨슈머에 대해서 여러개가 할당될 수 없습니다. 즉, '동일 컨슈머 그룹' 일 경우에 대해서 할당이 안되는 것이 맞습니다. 서로 다른 컨슈머 그룹에 대해서는 별개로 동작합니다!

 

1-2. 컨슈머 그룹별로 파티션별로 다른 commit이 완료된 오프셋을 가집니다. 예를 들어 파티션이 3개인 토픽에 hdfs-group과 elasticsearch-group 이라는 각각의 컨슈머 그룹이 붙어 데이터를 처리한다고 했을 때, hdfs-group은 각 파티션에 해당하는 커밋된 오프셋이 3개 존재하고 elasticsearch-group에도 마찬가지로 각 파티션에 해당하는 커밋되 오프셋이 3개 존재할 수 있습니다. 서로 다른 컨슈머 그룹의 오프셋은 영향을 미치지 않는다는점 참고부탁드립니다.

 

2.하나의 컨슈머가 여러 토픽을 구독하는 경우는 실무 기준으로 흔하지는 않은것 같습니다. 스키마가 비슷하고 동시에 처리되어야 할 경우와 같이 특수한 경우에 여러 토픽을 구독할 상황이 있을 수는 있습니다.

감사합니다!

김산님의 프로필 이미지
김산
질문자

답글 감사합니다! 강의 잘들었습니다~

김산님의 프로필 이미지

작성한 질문수

질문하기