- 카프카 컨슈머 소개
- 컨슈머 그룹
- 리밸런싱
- 커밋
- 어사이너(Assignor)
- 컨슈머 주요 옵션 소개
- auto.offset.reset
- 컨슈머 어플리케이션 개발하기
수동 커밋 컨슈머 어플리케이션
리밸런스 리스너를 가진 컨슈머 어플리케이션
리밸런스 리스너를 가진 컨슈머 애플리케이션
파티션 할당 컨슈머 애플리케이션 - 컨슈머 애플리케이션의 안전한 종료
- 멀티스레드 컨슈머 애플리케이션
- 컨슈머 랙
- 컨슈머 랙을 모니터링하는 방법
- 카프카 버러우
- Reference
이 글의 코드 및 정보들은 강의 내용을 바탕으로 작성하였습니다.
카프카 컨슈머 소개
컨슈머 내부 구조
-
fetcher는 레코드를 미리 가져온다.
-
ConsumerRecords는 오프셋을 포함한다.
컨슈머 그룹
-
2개 파티션을 1개의 컨슈머가 컨슘 하는 건 가능하나
1개의 파티션에 대해 2개의 컨슈머가 컨슘 하는 건 불가능하다.
컨슈머 그룹의 컨슈머가 파티션 개수보다 많을 경우
컨슈머 그룹을 활용하는 이유
리밸런싱
커밋
어사이너(Assignor)
-
일반적으로 토픽과 컨슈머를 1:1로 대응하므로
크게 어사이너를 신경 쓸 필요는 없다.
컨슈머 주요 옵션 소개
-
커밋 관련해서는 자동 커밋이 기본값이다.
-
하트비트 값인 3초가 지나고
하트비트를 기다리는데
그렇게 10초가 지났다면 리밸런싱 작업이 이뤄난다.
auto.offset.reset
-
컨슈머에 있는 선택 옵션 중 하나이다.
-
새로 만든 컨슈머 그룹을 운영하려고 할 때만 사용된다.
이미 운영중이라면 기존에 오프셋을 보고 동작한다.
컨슈머 어플리케이션 개발하기
수동 커밋 컨슈머 어플리케이션
리밸런스 리스너를 가진 컨슈머 어플리케이션
리밸런스 리스너를 가진 컨슈머 애플리케이션
파티션 할당 컨슈머 애플리케이션
- 230930 : 실제 프로그래밍 내용이라 정리 할 내용 X
리밸런스 리스너를 가진 컨슈머
컨슈머 애플리케이션의 안전한 종료
멀티스레드 컨슈머 애플리케이션
컨슈머 랙
프로듀서와 컨슈머의 데이터 처리량
랙 모니터링
랙 모니터링 - 처리량 이슈
랙 모니터링 - 파티션 이슈
컨슈머 랙을 모니터링하는 방법
카프카 명령어 사용
metrics( ) 메서드 사용
- 컨슈머가 죽으면 확인을 할 수 없다.
외부 모니터링 툴 사용
-
데이터 독 혹은 컨플루언트 컨트롤 센터가 좋다.
-
모든 토픽, 모든 컨슈머 그룹 정보를 수집해서 보여줌으로 엄청난 편의성을 제공한다.
카프카 버러우
컨슈머 랙 이슈 판별
컨슈머 랙 평가
정상 케이스
컨슈머 처리량 이슈
컨슈머 이슈
컨슈머 랙 모니터링 아키텍처