DevBoi

[Kafka] 클라이언트 메타데이터와 브로커 통신 본문

Develop/[Kafka]

[Kafka] 클라이언트 메타데이터와 브로커 통신

HiSmith 2023. 7. 26. 22:37
반응형

카프카 클라이언트는 메타데이터를 요청하고 응답받는다.

클러스터는 브로커가 여러개일 수있다.

리더 파티션이 몇번 브로커에 있는지 알수있는 메타데이터를 요청하고 전달 받는다.

 

카프카 프로듀서 메타데이터 옵션

-metadata.max.age.ms : 메타데이터를 강제로 리프래시하는 간격, 기본 5분이다.

-metadata.max.idle.ms : 프로듀서가 유휴 상태일 경우, 메타데이터를  캐시에 유지하는 기간이다.

 

카프카 클라이언트는 반드시 리더파티션과 통신해야한다. 그게 아니라면, Exception이 발생된다.

대부분, 메타데이터 리프래쉬 이슈로발생하고, 해당 리프레쉬 기간에 대한 재설정이 필요하다.

 

파티션과 리더파티션의 개념을 살짝 추가로 얘기하면 아래와 같다.

브로커는 파티션으로 이루어져있고, 이 파티션들의 리더는 각 다르다.

파티션마다 데이터를 복제하면서 나눠 가지게 되는데, 이렇게 나누는 이유는 부하를 분산하기 위함이다.

토픽이라는 데이터 단위는 이러한 파티션에 나눠서, 랜덤으로 배정받아서 저장이된다(파티션 키로 지정하는 방식도있다)

 

반응형

'Develop > [Kafka]' 카테고리의 다른 글

[Kafka] Kafka Zookeeper,Broker 세팅 및 실행  (0) 2023.07.27
[Kafka] 카프카 운영 방법들  (0) 2023.07.26
[Kafka] 카프카 토픽 이름 정하기  (0) 2023.07.21
[Kafka] 레코드란?  (0) 2023.07.21
[Kafka] 토픽과 파티션  (0) 2023.07.21