백엔드 개발/RabbitMQ

[RabbitMQ] RabbitMQ 구성요소와 용어 정리

Razelo 2023. 10. 28. 16:04

 

용어

RabbitMQ의 클라이언트

브로커와 통신하는 모든 애플리케이션을 의미함 

 

Producer

메세지를 생성하고 RabbitMQ 브로커로 전송함 

 

Consumer

RabbitMq 브로커로부터 메세지를 받아서 처리함 

 

RabbitMQ의 브로커 

  • 중앙 메시징 시스템 
  • 브로커는 Producer로부터 메세지를 받아서 적절한 큐에 저장하고 그 큐의 메세지를 Consumer에게 전달함 

 

구성요소

Exchange

메세지를 받아 적절한 큐로 라우팅하는 컴포넌트 

direct, topic, fanout, headers등 타입을 가짐

각 타입에 따라 메세지를 다른 방식으로 라우팅함 

 

Queues

메세지가 저장되는 곳 

메세지를 컨슈머에게 전달하기 전에 일시적으로 저장하는 버퍼 역할 

 

Blindings

Exchange와 큐 사이의 연결을 정의하는 규칙 

Binding은 어떤 메세지가 어느 큐로 전달될 것인지를 정의 

 

Channels

브로커와 클라이언트 간의 통신 세션을 나타내는 논리적 연결 

클라이언트는 여러 채널을 통해 동시에 여러가지 작업을 수행할 수 있음 

 

Connections 

브로커와 클라이언트 간의 실제 네트워크 연결을 나타냄 

하나의 Connection 위에 여러 개의 Channel을 통해 통신할 수 있음 

 

 

RabbitMq 브로커는 메시징 패턴을 구현 

메세지의 안전한 전송, 저장, 라우팅을 담당 

 

반응형