작성
·
107
0
컨슈머 리벨런싱 도중에 cpu 과부하 같은 오류가 발생해서 리벨런싱이 완료되지 않은 경우
heartbeat.interval.ms 설정은 컨슈머가 안붙었기 때문에 보내지 못하고 session.timeout.ms 설정 값을 통해서 그룹 코디네이터가 컨슈머가 죽었다고 판단해서 리벨런싱이 일어나야 할 것 같은데
--describe 컨슈머 그룹 상태를 확인했을 때 계속 Consumer group '그룹이름' has no active members. 같이 컨슈머가 안붙는다면 서버 재시작을 통해서 강제 리벨런싱을 일어나게 하면 다시 컨슈머가 붙어서 해결이 가능하지만 이 방법을 떠나서 session.timeout.ms 같은 값을 통해서 자동 리벨런싱이 일어나지 않을 수도 있는건지 궁금합니다!
답변 1
0
안녕하십니까,
질문의 문맥은 이해하였습니다, 근데 조금 헷갈리는 부분이 있습니다.
session.timeout.ms 값을 크게 증가 시켜서 rebalancing을 안 일으키는 방법을 문의하신 건지요? (먼저 질문은 reblancing을 일으키는 방법을 물어보신것 같아서요 ^^)
일단 그렇다고 가정하고, 제 생각엔
rebalancing 도중에 문제가 일어난 상황인데, 이걸 rebalancing을 안 일으키는 것은 더 큰 문제로 이어질 것 같습니다. 그렇다고 session.timout.ms를 크게 증가시키면 rebalacing 여부를 확인해야 하는 시간만 길어질 뿐 큰 도움이 안될 것 같습니다.
원하는 답변이 아니면 다시 글 부탁드립니다.