rabbitMQ else routed 처리하기

MINGKYME·2022년 5월 10일
0

개요

관리 받지 못하는 메시지를 핸들링하기 위한 설정입니다.

설정 방법

라이브되는 서비스에서 새로운 신규 요청이 왔을 때, 즉각적으로 처리하지 않으면
Direct Exchange의 경우에는 메시지가 사라진다.

Message published, but not routed.

이를 해결하기 위해 logging을 이용하여 처리되지 못한 메시지에 대해서 Return을 받을 수 있지만, overhead가 커진다고 판단.
alternate-exchange 를 사용하여 구현하기로 했다.

AE란? routing key를 이용하여 routing을 시도 했을 때, matching 되는 결과가 없다면, 다른 exchange를 이용하여, 결과를 처리하는 방식이다.

설정 방법은 Exchange를 생성할 때 추가하는 방법과 전역 규칙 설정이 존재한다.

  • Exchange 생성 시 설정

  • 전역 규칙 설정

주의 사항

AE로 지정할 exchange는 꼭 Fan Out 방식을 이용해서 생성하자.

  • 시도해본 삽질
    - Direct에 * 글자 이용해서 mapping 시도 => 실패.
profile
불편함을 해소하기 위해, 오늘도 디버깅을 합니다.

0개의 댓글