가정형 질문 — 학습 기반 1인칭 답변
Kafka를 실무에서 써본 경험은 없지만, 개인 프로젝트에서 RabbitMQ로 비동기 처리를 구현하면서 메시지 큐 개념을 익혔습니다.
처음에는 생산자가 메시지를 보냈는데 소비자가 처리 전에 죽으면 메시지가 날아가는 문제가 발생했습니다. 영구 큐 설정과 ack 처리를 제대로 구현하지 않은 것이 원인이었습니다. 이 오류를 찾는 데 이틀이 걸렸습니다.
Kafka라면 파티션 분산과 컨슈머 그룹 설계가 핵심이라는 것을 공부하면서 알게 되었습니다. 스케일을 키울 때 파티션 수와 컨슈머 수의 관계를 잘못 설계하면 처리량이 기대만큼 늘지 않는다는 것도 알게 되었습니다. 실무에서 직접 다뤄보고 싶습니다.