Kafka 클라이언트 메타데이터

less than 1 minute read

  1. 카프카 클라이언트는 통신하고자 하는 리더 파티션의 위치를 알기 위해 데이터를 주고(프로듀서) 받기(컨슈머) 전에 메타데이터를 브로커로부터 전달받는다. 메타데이터는 다음과 같은 옵션을 통해 리프레쉬 된다.
    1. 카프카 프로듀서 메타데이터 옵션
      1. metadata.max.age.ms : 메타데이터를 강제로 리프레시하는 간격. 기본값은 5분.
      2. metadata.max.idle.ms : 프로듀서가 유휴상태일 경우 메타데이터를 캐시에 유지하는 기간. 예를 들어 프로듀서가 특정 토픽으로 데이터를 보낸 이후 지정한 시간이 지나고 나면 강제로 메타데이터를 리프레시. 기본값은 5분.
  2. 메타데이터 이슈가 발생한 경우
    1. 카프카 클라이언트는 반드시 리더 파티션과 통신해야한다. 만약 메타데이터가 현재의 파티션 상태에 맞게 리프레시되지 않은 상태에서 잘못된 브로커로 데이터를 요청하면 LEADER_NOT_AVAILABLE 익셉션이 발생한다.
    2. 이 에러는 클라이언트(프로듀서 또는 컨슈머)가 데이터를 요청한 브로커에 리더 파티션이 없는 경우 나타나며 대부분의 경우 메타데이터 리프레시 이슈로 발생한다. 이 에러가 자주 발생한다면 메타데이터 리프레시 간격을 확인하고 클라이언트가 정상적인 메타데이터를 가지고 있는지 확인해야 한다.
-->

Categories:

Updated:

Comments