[Kafka] 4장. 카프카 컨슈머 : 중요 개념

Kafka 기초 다지기

출처 : 카프카 핵심 가이드 (O’Reilly)

목차

  1. 카프카 훑어보기
  2. 범용 메시지 큐와 비교하기
  3. 카프카 프로듀서 : 카프카에 메시지 쓰기
  4. 카프카 컨슈머 : 중요 개념
  5. 카프카 컨슈머 : 카프카에서 데이터 읽기
  6. 스키마 레지스트리
  7. 카프카 내부 메커니즘
  8. 신뢰성 있는 데이터 전달
  9. 데이터 파이프라인 구축하기

카프카 컨슈머 : 중요 개념

1. 컨슈머와 컨슈머 그룹

1) 컨슈머 그룹이란?

2) 컨슈머 그룹의 컨슈머 수

3) 용도 및 주의사항

4) 컨슈머 그룹 추가하기

5) 정리하면


2. 컨슈머 그룹과 리밸런싱

1) 리밸런싱이란

2) 무조건 좋은가?

3) 안전한 리밸런싱


3. 독자 실행 컨슈머

1) 하나의 컨슈머만 사용하는 이유

2) 파티션 할당 예제

List<PartitionInfo> partitionInfos = null;
partitionInfos = consumer.partitionsFor("TOPIC");
	// 특정 토픽의 사용 가능한 파티션을 모두 가져온다.

if (partitionInfos != null) {
    for (PartitionInfo partition : partitionInfos)
    	partitions.add(new TopicPartition(partition.topic(), partition.partition()));
    	
    consumer.assign(partition); // 이 컨슈머에게 해당 파티션들이 할당됨!
    
    while (true) {
        ConsumerRecord<String, String> records = consumer.poll(1000);
        
        for (ConsumerRecords<String, String> record : records) {
            // 할 일 해주기...
        }
        cosumer.commitSync();
    }
}

4. 커밋과 오프셋

1) 컨슈머는 어떻게 오프셋을 커밋할까?

2) 자동 커밋