Consuming from Kafka: Partition으로부터 Record를 가져옴(Poll)
Consumer는 각각 고유의 속도로 Commit Log로부터 순서대로 Read(Poll)를 수행
다른 Consumer Group에 속한 Consumer들은 서로 관련이 없으며, Commit Log에 있는 Event(Message)를 동시에 다른 위치에서 Read할 수 있음
Consumer Offset: Consumer Group이 읽은 위치를 표시
Consumer가 자동이나 수동으로 데이터를 읽은 위치를 commit하여 다시 읽음을 방지
__consumer_offsets라는 Internal Topic에서 Consumer Offset을 저장하여 관리
Consuming as a Group: 동일한 group.id로 구성된 모든 Consumer들은 하나의 Consumer Group을 형성
Partition응 항상 Consumer Group 내의 하나의 Consumer에 의해서만 사용됨
Consumer는 주어진 Topic에서 0개 이상의 많은 Partition을 사용할 수 있음
Consumer Group의 Consumer들은 작업량을 어느 정도 균등하게 분할함
동일한 Topic에서 consume하는 여러 Consumer Group이 있을 수 있음
Message Ordering(순서): Key를 사용하여 Partition별 메시지 순서 보장
동일한 Key를 가진 메시지는 동일한 Partition에만 전달되어 Key 레벨의 순서 보장 가능
. 멀티 Partition 사용 -> 처리량 증가
. 운영 중에 Partition 개수를 변경하면? 순서 보장 불가
'~2022 > Apache Kafka' 카테고리의 다른 글
[Kafka] Replication (0) | 2022.04.07 |
---|---|
[Kafka] Producer (0) | 2022.04.07 |
[Kafka] Broker, Zookeeper (0) | 2022.04.07 |
[Kafka] Topic, Partition, Segment (0) | 2022.04.06 |
[Kafka] server.properties (0) | 2022.04.06 |