Federation과 shovel은 별도의 broker를 연결하는 RabbitMQ 기능으로 — 위치나 네트워크를 넘어 RabbitMQ 인스턴스 간에 메시지를 이동시킵니다. 신뢰성 없는 링크를 넘는 clustering 없이 데이터센터 간 분산 메시징을 가능하게 합니다.
필요성: 별도의 broker 연결
clustering은 신뢰성 있고 저지연 네트워크의 노드를 연결. 하지만 때로 데이터센터/리전/
신뢰성 없는 네트워크를 넘어 broker를 연결해야 함:
→ clustering은 고지연/신뢰성 없는 링크에 부적합 (긴밀한 결합이 필요)
→ FEDERATION과 SHOVEL은 별도 broker를 느슨하게 연결 (WAN/지리적 분산에 적합)
Federation
FEDERATION → 별도 broker 간에 exchange/queue를 연결 (느슨하게 결합):
→ 한 broker의 federated exchange/queue가 다른 broker의 exchange/queue에서 메시지를 끌어옴
→ broker는 독립적으로 유지 (cluster 아님) → 네트워크 문제에 관대
→ 용도: 리전 간 메시지 분산; 독립적 broker 간 메시지 공유
