우리 산돌이 프로젝트에서 RabbitMQ를 사용하는 이유는,

현재 개발 중인 실시간 공지사항 알림 서비스를 다른 서비스에서도 손쉽게 활용할 수 있도록 하기 위함입니다.

따라서, 실시간으로 크롤링한 공지사항을 모든 구독 서비스에 안전하게 전달하고,

다른 서비스에서 새로운 이벤트 서비스를 개발할 때 확장성을 높이기 위해 RabbitMQ를 선택하였습니다.

처음에는 모든 개발자가 사용할 수 있도록 공통 인터페이스를 제공하려 했지만,

어설픈 인터페이스를 만드는 것보다 개발자들이 AMQP에 직접 접근하는 것이 더 간단하고 효율적이라고 판단했습니다.

따라서, 이 글에서는 RabbitMQ의 동작 방식을 정리하여

모든 개발자가 RabbitMQ를 활용한 이벤트 처리에 능숙해질 수 있도록 돕고자 합니다.

RabbitMQ의 핵심개념

RabbitMQ는 **AMQP(Advanced Message Queuing Protocol)**를 기반으로 동작하는

메시지 브로커(Message Broker)입니다.

RabbitMQ를 이용하면 서비스 간의 비동기 통신이 가능하게 되며 확장성과 안정성을 보장 가능합니다.

우리 산돌이 프로젝트에서 사용되는 이유는 글 작성자가 개발중인 실시간 공지사항 알림 서비스를 다른 서비스에서도 사용가능하게끔 만들기 위해서입니다.

따라서 실시간 공지사항을 크롤링 했을때 모든 이벤트 구독 서비스에게 이벤트를 안전하게 전달 하기 위해 기술을 선택했습니다.

RabbitMQ의 핵심 용어