RabbitMQ의 queue는 consumer가 처리할 때까지 메시지를 보관하며, producer와 consumer 사이의 버퍼 역할을 합니다. queue 속성(durability, acknowledgment 등)을 이해하는 것은 신뢰성 있는 메시징에 중요합니다.
queue가 하는 일
QUEUE는 consumer가 가져갈 때까지 메시지를 보관:
→ 메시지는 queue(버퍼)에서 대기 → producer 속도와 consumer 속도를 분리
→ consumer가 메시지를 받아(push 또는 pull) 처리하고 ACKNOWLEDGE
→ 대체로 FIFO (선입선출) 순서
→ producer와 consumer 사이의 버퍼 (부하를 흡수하고 비동기 처리를 가능하게 함)
주요 queue 속성
DURABLE → queue가 broker RESTART 후에도 살아남음 (queue 정의가 영속됨)
(+ PERSISTENT 메시지 → 메시지도 재시작 후 살아남음 → durability)
EXCLUSIVE → 하나의 connection만 사용; 그 connection이 닫히면 삭제됨
AUTO-DELETE → 마지막 consumer가 끊기면 삭제됨
TTL → 메시지(또는 queue)가 일정 시간 후 만료될 수 있음
MAX LENGTH → queue 크기 제한 (가득 차면 drop/overflow)
→ durability와 생명주기 요구에 맞게 설정
