Kafka

[Kafka] 'Topic Replication'에 대해 알아보자

hyunjuuun.dev 2024. 3. 11. 22:53

Topic replication factor

토픽은 replication factor를 가진다.

보통 2와 3 정도로 설정하며 3으로 설정하는 경우가 가장 흔하다.

이를 통해 카프카 서버(브로커)가 다운되었을 때 또 다른 브로커에 있는 데이터 사본을 통해 작업을 수행할 수 있게 된다.

 

ex) Topic-A, 2개의 파티션, 복제 계수 2의 브로커

 

리더 파티션

1개의 브로커가 파티션 리더 역할을 수행한다.

프로듀서는 파티션의 리더인 브로커에만 데이터를 전송할 수 있다.

 

 

리더 브로커가 아닌 브로커들은 리더 브로커의 데이터를 복제한다. 이 때 리더 브로커의 데이터를 복제한 레플리카를 ISR이라 한다. (in-sync replica) (반대로는 out-of-sync replica)

 

리더 파티션의 기본 동작

기본적으로 프로듀서는 메시지를 리더 파티션에만 기록하고 컨슈머는 메시지를 리더 파티션으로부터 읽는다.

 

(새로운 기능) Kafka Consumer Replica Fetching (2.4 버전이후)

컨슈머가 가장 가까운 레플리카에서 읽게 해주는 기능 (속도에서 이점)