🌳 고급 고급
RabbitMQ가 뭔가요?
쉽게 이해하기
RabbitMQ는 우체국과 같아요. A 서비스가 B 서비스에게 '이 작업 처리해줘'라는 편지를 보내면, RabbitMQ가 중간에서 편지를 보관했다가 B가 받을 준비가 되면 전달해줘요. B가 바쁘거나 잠시 오프라인이어도 편지는 안전하게 보관되다가 나중에 전달됩니다.
핵심 정리
서비스 간 메시지를 안전하게 전달하는 우체국 같은 시스템이에요
자세히 알아보기
RabbitMQ는 메시지 브로커(Message Broker)로, 여러 서비스나 시스템 간에 메시지를 안전하게 전달하는 중간 역할을 해요. 마이크로서비스 아키텍처에서 각 서비스가 서로 직접 호출하지 않고, 메시지 큐를 통해 비동기로 통신할 때 많이 사용됩니다.
예를 들어 쇼핑몰에서 주문이 들어오면, '주문 접수' 서비스가 RabbitMQ에 메시지를 보내요. 그러면 '재고 차감', '결제 처리', '배송 준비' 서비스가 각각 필요한 메시지를 가져가서 처리하죠. 한 서비스가 느려지거나 멈춰도 다른 서비스는 영향을 받지 않아요.
RabbitMQ는 메시지가 전달됐는지 확인(acknowledgement)하고, 실패하면 재시도하는 기능도 있어요. 덕분에 메시지 유실 위험이 적고, 시스템이 더 안정적으로 동작합니다. 다양한 언어를 지원하고, 설정도 유연해서 많은 기업에서 사용해요.
비슷한 도구로 Kafka, AWS SQS 등이 있어요. RabbitMQ는 상대적으로 설정이 쉽고, 작은 규모에서 시작하기 좋습니다. 마이크로서비스나 비동기 작업 처리가 필요한 서비스라면 꼭 알아두면 좋아요.