Kafka/Consumer

Kafka Simple Consumer

재심 2023. 3. 3. 23:15

목차

    [Simple Consumer?]

    offset과 같은 세부적인 부분을 직접 다루고 싶은 요구가 있는 경우 Consumer 관련항목을 직접 제어하기 위해 사용.

    이름은 Simple 이지만 실제로는 전혀 Simple하지 않음

    Consumer-Group이라는 개념이 Simple Consumer에서는 없다.

     

    [Simple Consumer를 사용하는 이유]

    SimpleConsumer 구현을 사용하는 주된 이유는 Consumer-group이 제공하는 것보다 파티션 소비를 더 잘 제어하기를 원하기 때문.

     

    예:

    • 메시지를 여러 번 읽기
    • 토픽의 일부 파티션만 사용하도록 제어 
    • 메시지가 한 번만 처리되도록 트랜잭션을 관리합니다.

     

    [Simple Consumer의 단점]

    SimpleConsumer는 Consumer Group에서 필요로 하지 않는 양의 작업을 필요로 한다. 

     

    • 소비를 중단한 부분을 알기 위해 애플리케이션의 오프셋을 추적해야 합니다.
    • 어떤 브로커가 토픽 및 파티션에 대한 리더 브로커인지 파악해야 합니다.
    • 브로커 리더 변경 사항을 처리해야 합니다.

     

    [Simple Consumer를 사용하기 위한 절차]

    1. 활성 브로커를 찾고 토픽 및 파티션의 Leader 브로커를 찾기.
    2. 토픽 및 파티션에 대한 Replica 브로커가 누구인지 확인합니다.
    3. 관심 있는 데이터를 정의하는 요청 작성
    4. 데이터 가져오기
    5. 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