어제 저녁까지 웹 서핑, ChatGPT, 관련 자료 등을 모두 보고 있는데요. 확신이 없어서 문의드립니다. 현재 34대 Brocker에 45대를 추가하며 Partition 재할당 작업을 해야되는데요. 다소 시간이 걸리는데, 재할당 작업 중에 Producer가 데이터를 계속 보내도 괜찮을까요? 혹시 메시지 손실, kafka leader election 지연 또는 재할당 실패 같은 이슈가 있을까요?
안정성을 위해 재할당 동안 잠시 멈춰야 할까요?
결론부터 말씀드리자면 파티션 리밸런싱이 진행될 동안 프로듀싱을 멈출 필요는 없습니다. 다만, 몇 가지 주의해야할 부분이 있습니다.
먼저 카프카 브로커측에서는 파티션 데이터 이동으로 인한 부하가 증가합니다. 이때 이동할 파티션의 크기가 크고 브러커의 네트워크 리소스가 충분하지 않을 경우엔 복제 지연, 요청 처리 지연등의 이슈가 있을 수 있습니다.
다음으로 카프카 프로듀서측에서는 파티션의 리더가 변경되는 시점에 이전 리더에 보낸 요청은 실패하게 되고 retry 정책에 따라 새로운 리더로 요청을 재전송하게 됩니다. 이때 max inflight request, retries 설정에 따라 일부 데이터 유실, 순서 불일치가 발생할 수 있습니다.