카테고리 없음

메시징 시스템에 대하여

busybeans 2023. 2. 24. 17:52
728x90
반응형

1. Introduction

메시징 시스템은 서로 다른 애플리케이션, 시스템 또는 구성 요소 간의 통신을 가능하게 하는 소프트웨어 또는 인프라 유형입니다. 메시징 시스템은 종종 비동기 방식으로 발신자와 수신자 간에 메시지를 교환하기 위한 메커니즘을 제공하여 응용 프로그램이 서로 긴밀하게 연결되지 않고 통신할 수 있도록 합니다.

 

2. 주요 구성요소

메시징 시스템의 주요 구성 요소는 다음과 같습니다.

 

  • 메시지 브로커: 메시지 브로커는 메시징 시스템의 핵심 구성 요소입니다. 생산자로부터 메시지를 받아 적절한 소비자 또는 가입자에게 라우팅합니다.
  • 메시지 생산자: 메시지 생산자는 메시지를 메시지 브로커에게 보내는 애플리케이션 또는 시스템입니다.
  • 메시지 소비자: 메시지 소비자는 메시지 브로커로부터 메시지를 받는 애플리케이션 또는 시스템입니다.
  • 메시지 형식: 메시징 시스템은 일반적으로 다음 중 하나를 지원합니다. JSON, XML 또는 바이너리 형식과 같은 더 많은 메시지 형식
  • 메시지 프로토콜: 메시징 시스템은 메시지 프로토콜을 사용하여 메시지의 형식, 구조 및 내용을 정의합니다. 메시지가 전송, 수신 및 처리되는 방법에 대한 규칙도 있습니다.
  • 메시지 Queues: 메시지 Queues은 메시지 브로커가 메시지를 보관할 때까지 메시지를 보관하는 데 사용하는 저장 메커니즘입니다. 적절한 소비자 또는 구독자에게 전달될 수 있습니다.
  • 메시지 Topic: 메시지 Topic는 생산자가 메시지를 게시하고 구독자가 메시지 수신을 신청할 수 있는 명명된 채널 또는 주제입니다.

 

 

3. 메시징 시스템

인기 있는 메시징 시스템에는 다음이 포함됩니다.

  1. Apache Kafka: 분산 스트리밍 플랫폼으로 실시간 데이터 파이프라인 및 스트리밍 애플리케이션 구축에 널리 사용됩니다.
  2. RabbitMQ: AMQP(Advanced Message Queuing Protocol)를 구현하고 다음과 같은 기능을 제공하는 오픈 소스 메시지 브로커 메시지 지속성, 메시지 라우팅 및 메시지 확인.
  3. Apache ActiveMQ: 여러 메시징 프로토콜을 지원하고 메시지 대기열, 주제 및 내구성과 같은 기능을 제공하는 오픈 소스 메시지 브로커 구독.

 

4. 메시징 프로토콜

  1. SMTP(Simple Mail Transfer Protocol): SMTP는 서버 또는 클라이언트 간에 이메일 메시지를 보내는 데 사용되는 프로토콜입니다.
  2. HTTP(Hypertext Transfer Protocol): HTTP는 웹 브라우저와 웹 서버 간에 데이터를 교환하는 데 사용되는 프로토콜입니다.
  3. FTP(파일 전송 프로토콜): FTP는 클라이언트와 서버 간에 파일을 전송하는 데 사용되는 프로토콜입니다.
  4. MQTT(Message Queuing Telemetry Transport): MQTT는 사물 인터넷(IoT)에서 장치를 연결하기 위한 경량 메시지 교환 프로토콜입니다.
  5. AMQP(Advanced Message Queuing Protocol): AMQP는 시스템 또는 애플리케이션 간의 안정적인 비동기 메시징을 위해 설계된 프로토콜입니다.
  6. XMPP(Extensible Messaging and Presence Protocol): XMPP는 실시간 메시징 및 현재 상태 정보를 위해 설계된 프로토콜입니다.
  7. Simple Object Access Protocol(SOAP) ): SOAP는 교환에 사용되는 프로토콜입니다. 시스템 또는 애플리케이션 간에 구조화된 데이터를 생성합니다.

 

References:

  1. Messaging Systems Explained: https://blog.codecentric.de/en/2016/03/messaging-systems-explained/
  2. Messaging Systems: https://docs.oracle.com/cd/E19455-01/806-1075/msgs-2/
  3. What is a messaging system? https://www.ibm.com/cloud/learn/messaging
  4. Kafka: The Definitive Guide: https://www.confluent.io/resources/kafka-the-definitive-guide/
  5. RabbitMQ: https://www.rabbitmq.com/
  6. Apache ActiveMQ: https://activemq.apache.org/

 

728x90
반응형