📬메시지 큐 용량 설계 계산기

피크 메시지 수, 평균 크기, 보관 시간을 입력하면 필요한 저장 용량과 컨슈머 수를 계산해드립니다.

msg/s
KB
시간
msg/s
항목
최소 필요 컨슈머 수0
권장 파티션 수 (20% 여유)0

메시지 큐, 용량을 미리 계산해야 장애를 막는다

메시지 큐를 도입할 때 가장 흔히 하는 실수는 평소 트래픽만 보고 용량을 산정하는 것입니다. 실제 운영에서는 이벤트성 트래픽 급증, 컨슈머 장애, 배포 중 처리 중단 같은 상황이 반복적으로 발생하고, 이때마다 메시지가 큐 안에 계속 쌓입니다. 필요한 저장 용량은 피크 시 초당 메시지 수와 평균 메시지 크기, 그리고 얼마나 오래 메시지를 보관해야 하는지(retention)를 곱해서 계산할 수 있습니다. 보관 기간이 길거나 피크 처리량이 클수록 필요한 디스크 용량은 기하급수적으로 늘어납니다.

컨슈머 수를 정하는 기준도 중요합니다. 컨슈머 1개가 처리할 수 있는 초당 메시지 수로 피크 유입량을 나누면 최소 필요 컨슈머 수가 나오는데, 이 값보다 파티션(또는 샤드) 수가 적으면 컨슈머를 늘려도 병렬 처리 효과를 볼 수 없습니다. 따라서 파티션 수는 최소 필요 컨슈머 수보다 여유 있게, 보통 20% 이상 더 크게 설계하는 것이 안전합니다.

이 계산기는 이런 기준들을 바탕으로 필요한 저장 용량과 최소 컨슈머 수, 권장 파티션 수를 한 번에 보여줍니다. 다만 실제 설계 시에는 메시지 압축률, 복제(replication) 배수, 브로커의 오버헤드도 함께 고려해야 더 정확한 용량 산정이 가능합니다.

자주 묻는 질문

큐 용량을 넉넉하게 잡아야 하는 이유는?

컨슈머 장애나 처리 지연이 발생하면 메시지가 큐에 쌓이므로, 피크 트래픽과 장애 상황을 고려해 여유 용량을 확보해야 합니다.

파티션 수는 어떻게 정해야 할까?

파티션 수는 최소 필요 컨슈머 수 이상으로 설정해야 병렬 처리가 가능하며, 향후 트래픽 증가를 고려해 여유를 두는 것이 좋습니다.

컨슈머가 부족하면 어떤 문제가 생길까?

컨슈머 처리 속도가 유입 속도를 따라가지 못하면 큐에 메시지가 계속 쌓여 지연이 커지고 저장 용량도 초과될 수 있습니다.