Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- DP
- Spring Cloud Feign
- SQL
- Spring Cloud
- Kafka
- golang
- 운영체제
- PL/SQL
- 클라우드
- 코딩
- JPA
- aws
- 백준
- 오라클
- 자바
- db
- 자료구조
- MVC
- 데이터베이스
- Spring Boot
- feign
- 쿼리
- 페이징
- Intellj
- 알고리즘
- 디자인 패턴
- MST
- retry
- Spring
- Jenkins
Archives
- Today
- Total
justgo_developer
카프카 리밸런싱으로 인한 Consume 불가 이슈 본문
728x90
반응형
이슈 : Consumer가 전체적으로 대부분의 토픽을 처리하지 못하고 있는 현상.
발생한 로그
Attempt to heartbeat failed since group is rebalancing
: 카프카 heartbeat가 실패해서 rebalancing 발생
Join group failed with org.apache.kafka.common.errors.MemberIdRequiredException: The group member needs to have a valid member id.
Join group failed with org.apache.kafka.common.errors.UnknownMemberIdException: The coordinator is not aware of this member.
: 카프카가 유효한 member id를 찾지 못해서 발생하는 로그 → 결국 rebalancing 이루어짐.
카프카(Kafka)에서 리밸런싱(rebalancing)이 발생하는 주요 원인은 파티션과 컨슈머 그룹(consumer group)의 상태 변화에 따른 것입니다.
리밸런싱은 파티션을 컨슈머에게 다시 할당하여 데이터 처리의 부하를 균형 있게 유지하는 작업으로, 시스템 안정성을 위해 필수적이지만 자주 발생하면 성능 저하를 유발
카프카 rebalancing이 일어나는 케이스는 크게 2가지가 있는데
1.제한시간내에 poll 요청 실패 : max.poll.interval.ms
2.컨슈머 생성 및 삭제 : session.timeout.ms+ heartbeat.timeous.ms
발생한 케이스는 1번 케이스로 poll 호출하는 시간 간격이 5분을 초과하여 발생.
이슈 발생 시점에 대량 메시지 추정 → db latency 증가됨.
100 X 1회 호출시간(대략 5초라고 가정) 대략 8분 > 5 min
"max.poll.records" 100개, max.poll.interval.ms 5분으로 지정
해결
카프카 관련 2개 설정 수정
1.max.poll.records: poll 처리 갯수 감소
2.max.poll.interval.ms : interval 시간 증가
728x90
반응형