16장. Kafka 내보내기 사용

Kafka 내보내기 는 Apache Kafka 브로커 및 클라이언트의 모니터링을 개선하는 오픈 소스 프로젝트입니다.

Kafka 내보내기는 Kafka 클러스터와의 배포를 위해 AMQ Streams를 통해 오프셋, 소비자 그룹, 소비자 지연 및 주제와 관련된 Kafka 브로커에서 추가 메트릭 데이터를 추출합니다.

예를 들어 지표 데이터가 느린 소비자를 식별하는 데 사용됩니다.

지연 데이터는 Prometheus 지표로 노출되며 분석을 위해 Grafana에 표시될 수 있습니다.

기본 제공 Kafka 메트릭을 모니터링하는 데 Prometheus 및 Grafana를 이미 사용하는 경우 Kafka Exporter Prometheus 끝점을 스크랩하도록 Prometheus를 구성할 수 있습니다.

Kafka는 CloudEvent를 통해 지표를 노출합니다. 이 메트릭은 Prometheus 지표로 내보낼 수 있습니다. 자세한 내용은 CloudEvent 를 사용하여 클러스터 모니터링을 참조하십시오.

16.1. 소비자 지연

소비자 지연은 프로덕션 속도 및 메시지 소비 속도의 차이를 나타냅니다. 특히 지정된 소비자 그룹의 소비자 지연은 파티션의 마지막 메시지와 해당 소비자가 현재 선택 중인 메시지 간의 지연을 나타냅니다. 지연은 파티션 로그의 끝과 관련하여 소비자 오프셋의 위치를 반영합니다.

이러한 차이점은 생산자 오프셋과 소비자 오프셋, Kafka 브로커 주제 파티션의 읽기 및 쓰기 위치입니다.

주제가 100개의 메시지 1초를 스트리밍한다고 가정합니다. 생산자 오프셋(주제 파티션 헤드)과 소비자가 읽은 마지막 오프셋 사이에 1000개의 메시지 지연은 10초 지연을 의미합니다.

소비자 지연 모니터링의 중요성

(near) 실시간 데이터 처리에 의존하는 애플리케이션의 경우 소비자 지연을 모니터링하여 너무 크지 않은지 확인하는 것이 중요합니다. 지연이 클수록 프로세스가 실시간 처리 목표에서 더 많이 이동합니다.

예를 들어 소비자 지연은 제거되지 않은 오래된 데이터를 너무 많이 소비하거나 계획되지 않은 종료를 통해 소비한 결과일 수 있습니다.

소비자 지연 감소

지연을 줄이기 위한 일반적인 작업은 다음과 같습니다.

  • 새 소비자를 추가하여 확장 소비자 그룹
  • 메시지에 대한 보존 시간이 항목에 남아 있게 늘립니다.Increase the retention time for a message to remain in a topic.
  • 메시지 버퍼를 늘리기 위한 디스크 용량 추가

소비자 지연을 줄이기 위한 조치는 기본 인프라에 따라 다르며 AMQ Streams가 지원하는 사용 사례에 따라 다릅니다. 예를 들어 지연된 소비자는 브로커가 디스크 캐시에서 가져오기 요청을 처리할 수 있다는 이점이 적습니다. 그리고 특정 경우에는 소비자가 캡처될 때까지 메시지를 자동으로 삭제하는 것이 허용될 수 있습니다.