
[메시지큐] RabbitMQ 샅샅이 파헤치기(Ft. 지연 메시지)
·
메시지큐
RabbitMQ를 사용하게 된 계기소프티어 부트캠프에서 진행중인 두리번 프로젝트에서 유저가 출발하기를 한 후 3시간 뒤에 유저의 상태를 피드백 상태로 바꾸는 기능이 필요했다.처음에는 이를 스프링의 TaskScheduler를 통해 구현했지만 메모리에 저장되는 방식이라 서비스 도중 서버 장애로 Restart 되는 경우가 발생한다면 전부 날아가 버린다.또한 분산 서버 환경에서도 사용할 수 없다.(위와 같은 이유)그래서 대체재를 찾던 도중 RabbitMQ에서 TTL 설정을 통한 지연메시지 발급이 가능하다는 것을 알게 되었고 이를 사용해 보기로 하였다. RabbitMQ 구조도Exchange의 경우에는 로드밸런서처럼 앞단에서 라우팅하는 역할이라 생각하면 편하다.또한 Direct, Topic, Fanout과 같..