RabbitMQ의 Exchange

2025. 3. 30. 13:31·framework/spring

RabbitMQ의 구성요소로는 Producer, Exchange, Queue, Consumer가 있습니다.

 

메세지 큐를 이용한 데이터 처리 과정

RabbitMQ를 이용해 데이터를 처리하는 과정은 크게 다음 4단계 과정을 거칩니다.

  1. Producer가 RabbitMQ로 메세지를 보낸다
  2. Exchange는 Producer로부터 받은 메세지의 routing key를 참고해 해당하는 queue로 메세지를 전달한다
  3. queue는 메세지를 일시적으로 저장하는 버퍼 역할을 한다
  4. queue를 구독하고 있는 Consumer는 메세지를 가져와 처리한다

Exchange 유형

여기서 주목할 부분은 Exchange입니다. RabbitMQ에는 4가지 유형의 Exchange가 있고, Exchange를 이용해 유연하게 메세지를 처리할 수 있습니다.

 

Direct Exchange

  • 메세지를 routing key에 따라 특정 queue로 전달하는 방식
  • routing key와 동일한 queue로 메세지 전달
  • 하나의 routing key에 여러 queue가 할당될 수 있어 1:N 매칭이 가능

 

Topic Exchange

  • routing key를 패턴 기반으로 정의하여 여러 queue에 유연하게 전달하는 방식
  • 와일드카드 또한 사용할 수 있어 동적으로 라우팅이 필요한 경우 사용

 

Fanout Exchange

  • 브로드캐스트 방식
  • 한 번 발행하면 모든 queue에 메세지 전송

 

Headers Exchange

  • 메세지 속성에 기반한 복잡한 라우팅이 필요할 때
  • routing key 대신 header의 값을 이용해 라우팅
  • direct exchange나 topic exchange보다 성능이 떨어질 수 있음

 

'framework > spring' 카테고리의 다른 글

Spring RabbitMQ 적용하기  (0) 2025.03.30
Spring DispatcherServlet은 왜 필요할까?  (1) 2025.02.17
'framework/spring' 카테고리의 다른 글
  • Spring RabbitMQ 적용하기
  • Spring DispatcherServlet은 왜 필요할까?
koosco
koosco
웹 개발 공부하고 있어요 :)
  • koosco
    koosdata
    koosco
  • 전체
    오늘
    어제
    • ROOT (28)
      • WEB (2)
      • language (4)
        • java (3)
        • pug (1)
      • framework (3)
        • spring (3)
        • react (0)
      • database (1)
        • mysql (1)
      • DevOps (4)
        • Linux (4)
      • Error Log (2)
      • 독서 (3)
      • Computer Science (9)
        • Data Structure (2)
        • Network (2)
        • Design Pattern (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    github pages
    pug
    docker
    mysql
    linux
    DATABASE
    Java
    amqp
    DNS
    Network
    Design Pattern
    Container
    AWS
    WSL
    자료구조
    가상면접 사례로 배우는 대규모 시스템 설계
    React
    HTML
    독서
    vercel
    Spring
    rabbitmq
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
koosco
RabbitMQ의 Exchange
상단으로

티스토리툴바