본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
https://bit.ly/4hTSJNB
I. 학습 인증샷 4장 이상 포함
1. 공부시작: 날짜, 시각 다 나오도록
2. 공부 종료: 날짜 시각 다 나오도록
3. 1개 클립 수강 (강의장 목록 캡쳐, 수강화면이 보이지 않도록) 1장
4. 학습 인증샷 1장(필기 촬영이나 작업물 촬영)
II. 학습 후기 700자 이상 (공백 제외)
Kafka의 Producer 트러블 슈팅에 대한 내용이다.
요약
Producer Metrics for Troubleshooting
- Kafka Producer의 성능을 진단하기 위해 사용하는 주요 메트릭:
- 응답률, 요청률, 평균 요청 지연 시간, 출력 바이트 속도, I/O 비율 및 대기 비율, 레코드 재시도 및 오류율 등
일반적인 이슈
- 연결 실패
- Can not connect to Kafka
- 단일 Bootstrap 서버만 정의했을 수 있으며, 이 서버에 연결할 수 없음
- Broker의 잘못 구성된 listeners 및 advertised.listeners
- Producer(Port 포함)에서 올바른 Endpoint를 사용하고 있는가?
- Kafka 클러스터에 보안이 적용되어 있는데,
Credentials을 사용하거나 전혀 Credentials없이 액세스하려고 하는 경우.
- 토픽에 쓰기 실패
- Can not write to Topic
- Topic이 존재하지 않으며 Auto Topic Creation이 off 되어 있는 경우.
- Topic이 ACL에 의해 보호되고, Producer에게 필요한 Authorization(권한)이 없는 경우.
- 프로듀서가 느려지는 경우
- Producer is very slow
- 레코드를 보낼 때마다 Producer를 다시 생성하도록 코딩한 경우(동일한 Producer 인스턴스 재사용!)
- 최적이 아닌 Producer 구성, 특히 batch.size, linger.ms, compression.type, acks
- Kafka 클러스터에 Quotas(할당량)이 설정되어 있습니까? 처리량이 제한될 수 있음.
일반적인 Producer 관련 문제를 해결하려면, kafkacat 도구가 매우 유용
# Kafka에서 메타데이터(모든 Topic에 대한)를 검색
$ kafkacat -L -b kafka:9092
# CSV 파일의 내용을 iot-data Topic에 기록
$ cat iot_data.csv | kafkacat -P -p -1 -b kafka:9092 -t iot-data
librdkafka 카프카 라이브러리 디버그 방법
- c 기반의 카프카 라이브러리
- Kafka 디버깅을 위한 다양한 컨텍스트(예: 브로커 상태, 메시지 큐, 보안, 프로토콜 등)를 소개
- https://docs.confluent.io/platform/7.5/clients/librdkafka/html/md_INTRODUCTION.html
- 디버깅 세팅
librdkafka: Introduction to librdkafka - the Apache Kafka C/C++ client library
librdkafka is a high performance C implementation of the Apache Kafka client, providing a reliable and performant client for production use. librdkafka also provides a native C++ interface. Table of Contents Performance librdkafka is a multi-threaded libra
docs.confluent.io
- 프로듀서의 일반적인 트러블 슈팅과 일반적인 이슈들
- 실제 상황에서 자주 발생할 수 있는 사례들을 다루고 있어 매우 실용적인 듯하다
- 예를 들어, 토픽에 쓰기가 실패하는 경우 권한 문제나 자동 생성 옵션이 꺼져 있는 경우가 있다는 점은 간과하기 쉬운 부분인데
이를 미리 알고 대비할 수 있는 팁이다. - 또한 Producer 속도가 느려지는 원인을 배치 크기나 대기 시간 설정 등으로 최적화할 수 있다는 점도 실질적인 팁으로 느껴졌습니다.
그리고 실제로 회사 코드에서 producer를 new로 생성하는 코드가 있어서.. 뜨끔하다.. - kafkacat 도구는 처음 들어봤는데 간단한 명령어만으로 Kafka 클러스터의 메타데이터를 확인하거나 데이터를 토픽에 기록할 수 있다는 점이 훌륭하다. 이를 통해 Kafka 환경에서 빠르게 테스트하고 문제를 진단이 가능할 것이다.
- 역시 이론만이라. 사실 저런 명령어를 실제로 쳐보지 못하는게 아쉽다.
- Kafka 클러스터에서 할당량(Quotas)이 설정되어 있을 때 어떤 방식으로 이를 확인하고 조정할 수 있는지도 필요한 것 같은데
- 또한 PDF에서는 보안 인증 문제를 다루었는데, 실제로 Kafka에서 TLS 인증서를 설정하는 과정이 어떤 단계로 이루어지는지 참고 링크라도 추가 되었으면 좋았을 듯하다.
'패캠챌린지 > Kafka EcoSystem - 진행중' 카테고리의 다른 글
패스트캠퍼스 환급챌린지 25일차 : 한번에 끝내는 KafkaEcosystem 강의 후기 (0) | 2025.03.29 |
---|---|
패스트캠퍼스 환급챌린지 24일차 : 한번에 끝내는 KafkaEcosystem 강의 후기 (0) | 2025.03.28 |
패스트캠퍼스 환급챌린지 23일차 : 한번에 끝내는 KafkaEcosystem 강의 후기 (0) | 2025.03.27 |
패스트캠퍼스 환급챌린지 22일차 : 한번에 끝내는 KafkaEcosystem 강의 후기 (0) | 2025.03.26 |
패스트캠퍼스 환급챌린지 21일차 : 한번에 끝내는 KafkaEcosystem 강의 후기 (0) | 2025.03.25 |