1. 멀티 스레드 컨슈머
카프카 컨슈머 멀티 워커 스레드 전략
컨슈머 스레드가 poll 로 레코드 여러개를 받아서 여러개의 레코드를 동기적 for문으로 돌지 않고, 워커 스레드 풀에 던지는 전략
→ 처리량은 빨라질 수 있다. 근데 다음과 같은 단점이 있다.
- 데이터 처리가 끝나지 않았음에도 커밋을 하기 때문에 리밸런싱, 컨슈머 장애시 데이터 유실 발생
- 레코드 처리 순서가 꼬이는 현상이 발생
카프카 컨슈머 멀티 스레드 전략
하나의 애플리케이션에서 컨슈머 인스턴스를 파티션 수만큼 맞춰서 띄우는 전략 → 컨슈머 스레드를 파티션 수랑 맞추는 전략임
2. 컨슈머 랙
카프카 명령어를 사용하여 컨슈머 랙 조회
컨슈머 metrics() 메서드를 사용하여 컨슈머 랙 조회
외부 모니터링 툴을 사용하여 컨슈머 랙 조회
3. 카프카 버로우
컨슈머 랙 모니터링 아키텍처
4. 컨슈머 배포 프로세스