독서

[카프카 핵심 가이드] Ch 13, Ch 14

오렌지색 귤 2025. 9. 7. 20:34
반응형

1) 모니터링

 

1-1. 네 가지 숫자

  • Throughput : 들어오고/나가는 메시지 양 (bytes/sec, records/sec)
  • Error : 프로듀서/컨슈머 에러율
  • Lag/Latency
  • Saturation : 브로커가 바쁨 (Idle% 낮은 경우), 디스크가 꽉 참 (사용량 높은 경우)
지표 몇가지
1. URP > 0 : 불완전 복제 파티션이 있으니 확인 필요
2. RequestHandlerIdle %가 계속 0.3보다 작은 경우 : 브로커 과부화 가능성
3. Consumer Lag이 업무 시간에 계속 증가 : 처리 병목

 

 

1-2. SLO란?

  • SLI (무엇을 측정하는가) : 특정 메시지가 3초 안에 처리되는 비율
  • SLO (목표) : 영업 시간에 99.9%는 3초 안에 끝낸다
  • 알람 : 3초 넘는 구간이 5분 이상 지속되면 알림

 

1-3. 클라이언트에서는 무엇을 볼까?

  • Producer : 재시도 획수, 에러율 (재시도 성공도 포함)
  • Consumer : 최대 랙, 리밸런스 빈도, 처리 지연
  • Lag = 0인데 느린 경우 : 앱 내부 처리 지연일 때가 많다 -> E2E 시간을 애플리케이션 지표로 찍어두자

 

2) 스트림 처리

 

2-1. 시간

  • 윈도우 : "5분 동안 모아서 집계"와 같은 개념
  • 지연 데이터 (grace) : 늦게 들어온 이벤트를 얼마나 더 받아줄지
    • 예 : 5분 윈도우 + grace 10분 -> 윈도우 닫히고 10분 안에 늦게 들어와도 다시 계산한다
    • grace가 지나면 버린다

 

2-2. 키

  • 조인/그룹바이 전에 키가 바뀌면 카프카가 repartition 토픽을 만들어서 데이터를 다시 섞는다 -> I/O 비용이 크다
  • 가능하면 업스트림에서 키를 맞춰서 보낸다

 

2-3. 상태

  • EOS : 컨슘 오프셋 커밋 + state 업데이트 + 아웃풋을 한 번에 커밋
  • 단 EOS가 외부 시스템 호출의 중복까지 자동 해결해주지는 않는다
반응형