목차
[Simple Consumer?]
offset과 같은 세부적인 부분을 직접 다루고 싶은 요구가 있는 경우 Consumer 관련항목을 직접 제어하기 위해 사용.
이름은 Simple 이지만 실제로는 전혀 Simple하지 않음
Consumer-Group이라는 개념이 Simple Consumer에서는 없다.
[Simple Consumer를 사용하는 이유]
SimpleConsumer 구현을 사용하는 주된 이유는 Consumer-group이 제공하는 것보다 파티션 소비를 더 잘 제어하기를 원하기 때문.
예:
- 메시지를 여러 번 읽기
- 토픽의 일부 파티션만 사용하도록 제어
- 메시지가 한 번만 처리되도록 트랜잭션을 관리합니다.
[Simple Consumer의 단점]
SimpleConsumer는 Consumer Group에서 필요로 하지 않는 양의 작업을 필요로 한다.
- 소비를 중단한 부분을 알기 위해 애플리케이션의 오프셋을 추적해야 합니다.
- 어떤 브로커가 토픽 및 파티션에 대한 리더 브로커인지 파악해야 합니다.
- 브로커 리더 변경 사항을 처리해야 합니다.
[Simple Consumer를 사용하기 위한 절차]
- 활성 브로커를 찾고 토픽 및 파티션의 Leader 브로커를 찾기.
- 토픽 및 파티션에 대한 Replica 브로커가 누구인지 확인합니다.
- 관심 있는 데이터를 정의하는 요청 작성
- 데이터 가져오기
- Leader 변경 사항 식별 및 복구
[참조]
https://cwiki.apache.org/confluence/display/kafka/0.8.0+simpleconsumer+example
'Kafka > Consumer' 카테고리의 다른 글
Consumer Error Handling Patterns (0) | 2023.05.09 |
---|---|
Kafka Consumer 성능과 고려 요소들 (0) | 2023.04.23 |
Rebalancing (0) | 2023.03.03 |
Consumer Assignment Strategies (0) | 2023.02.04 |
Auto Commit 사용시 메시지 유실 테스트 (0) | 2023.02.04 |