Elements of RabbitMQ - AMQP, Send/consume message using Queue

Eden Ko·2023년 5월 10일
0

RabbitMQ

목록 보기
3/3

메시징 시스템의 기본 구성 요소

  • Message Producers: 메시지 생산자는 메시지의 소스입니다. 대기열 또는 토픽과 같은 특정 대상에 메시지를 보내면 구독자가 이를 소비합니다.

  • Message Consumers: 메시지 소비자는 게시된 메시지를 수신/읽고 이를 처리하는 구독자입니다.

  • Message Brokers:메시지 브로커는 메시지를 올바른 대상으로 라우팅하고, 전달 및 내구성을 보장하는 등의 무거운 작업을 수행하는 ActiveMQ, RabbitMQ와 같은 서버입니다. 브로커는 생산자와 소비자 사이의 미들웨어입니다. 이것이 바로 메시지 지향 미들웨어라고 불리는 이유입니다. 메시지 브로커는 공급업체에 따라 대기열, 토픽, 교환 등과 같은 추가 구성 요소를 가질 수 있습니다.

  • Messages: 메시지는 메시징 아키텍처가 존재하는 주된 이유이며, 헤더와 메타데이터가 포함된 실제 콘텐츠입니다. 메시지 본문(콘텐츠)에는 바이너리, JSON, XML, 일반 텍스트 유형 등의 데이터가 포함될 수 있습니다.

AMQP 시스템의 요소

AMQP는 고급 메시지 큐 프로토콜의 약자로, 생산자, 메시지 브로커, 소비자 간의 상호 운용성을 생성합니다. 다른 메시징 시스템과 마찬가지로, 생산자/발행자는 메시지를 생성하여 Exchange로 보냅니다. 그러면 거래소는 관련 바인딩에 따라 메시지를 하나 이상의 큐로 라우팅합니다.

Publisher 퍼블리셔 - 일반적으로 메시지를 생성하여 AMQP 거래소로 전달하는 AMQP 클라이언트 애플리케이션입니다. 퍼블리셔/프로듀서는 프로토콜이 언어 독립적이므로 어떤 프로그래밍 언어로도 작성할 수 있습니다.

Message 메시지 - 퍼블리셔가 생성하며 소스, 헤더, 속성, 라우팅 정보 등 필요한 모든 정보를 포함합니다.

Subscriber - 메시지를 수신하고 메시지 브로커에 확인을 보내는 AMQP 클라이언트 애플리케이션이기도 합니다. 소비자로도 불립니다.

Message Broker - 올바른 대상에게 메시지를 전달하는 역할을 하는 미들웨어 서버입니다. 메시지 브로커는 교환과 큐로 구성됩니다.

Message Exchange - 교환은 생산자로부터 메시지를 수신하여 바인딩에 따라 올바른 큐로 라우팅합니다.

Message Queue - 큐는 거래소로부터 메시지를 받아 소비자에게 보냅니다. 소비자가 수신할 준비가 되지 않은 경우에는 디스크/메모리에 메시지를 저장합니다.

Connection 연결 - 클라이언트 애플리케이션과 RabbitMQ 브로커 간의 TCP 연결입니다.

Channel 채널 - 연결 내부의 가상 연결입니다. 큐/교환이 선언, 삭제되거나 메시지가 게시 또는 소비될 때 채널에서 수행됩니다.

Binding 바인딩 - 큐와 익스체인지 사이의 링크입니다.

Routing Key 라우팅 키 - 라우팅 키를 기반으로 Exchange는 메시지를 큐로 라우팅하는 방법을 결정합니다. 목적지 주소와 같습니다.

VHost 가상 호스트 - 가상 호스트는 아파치 가상 호스트와 같으며, 애플리케이션의 필요에 따라 분리된 가상 환경을 허용합니다.

Send and Receive a message in RabbitMQ

  • admin ui를 이용해서 큐에 메시지 보내기


profile
Junior Developer

0개의 댓글

관련 채용 정보