기술 블로그

카프카 브로커와 클라이언트가 통신하는 방법 및 정리 본문

온라인강의/아파치 카프카 애플리케이션

카프카 브로커와 클라이언트가 통신하는 방법 및 정리

parkit 2023. 9. 10. 20:47
728x90
반응형

◎ 클라이언트 메타데이터

  • 카프카 클라이언트는 통신하고자 하는 리더 파티션의 위치를 알기 위해 데이터를 주고(프로듀서) 받기(컨슈머) 전에 메타데이터를 브로커로부터 전달받는다. 메타데이터는 다음과 같은 옵션을 통해 리프레쉬된다.

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

1) metadata.max.age.ms : 메타데이터를 강제로 리프레쉬하는 간격. 기본값은 5분.

2) metadata.max.idle.ms : 프로듀서가 유휴 상태일 경우 메타데이터를 캐시에 유지하는 기간. 예를 들어, 프로듀서가 특정 토픽으로 데이터를 보낸 이후 지정한 시간이 지나고 나면 장제로 메타데이터를 리프레쉬. 기본값은 5분.

 

 

◎ 클라이언트 메타데이터가 이슈가 발생한 경우

  • 카프카 클라이언트는 반드시 리더 파티션과 통신해야 한다. 
  • 만약 메타데이터가 현재의 파티션 상태에 맞게 리프레쉬 되지 않은 상태에서 잘못된 브로커로부터 데이터를 요청하면, LEADER_NOT_AVAILABLE 익셉션이 발생한다.
  • 이 에러는 클라이언트(프로듀서 또는 컨슈머)가 데이터를 요청한 브로커에 리더 파티션이 없는 경우 나타나며, 대부분의 경우 메타데이터 리프레쉬 이슈로 발생한다.
  • 이 에러가 자주 발생하면, 메타데이터 리프레쉬 간격을 확인하고, 클라이언트가 정상적인 메타데이터를 가지고 있는지 확인해야 한다.

 

 

 

 

 

 

 

728x90
반응형

'온라인강의 > 아파치 카프카 애플리케이션' 카테고리의 다른 글

컨슈머, 토픽, 파티션, 프로듀서 등 퀴즈  (0) 2023.09.10
정리  (0) 2023.09.10
토픽 이름 제약 조건  (0) 2023.09.10
레코드  (0) 2023.09.07
카프카 기본 개념 설명  (0) 2023.09.05