본문 바로가기
CS/네트워크

Message Broker

by Mecodata 2023. 9. 20.

MOM(메시지 지향 미들웨어, Message Oriented Middleware)

- 어플리케이션들의 메시지를 중간에서 관리해주는 시스템

장점

- 여러 클라이언트 시스템간에 메시지 통신을 중간에서 관리 => 클라이언트 시스템 간의 종속성 및 결속성 ↓

- 수신자의 주소를 몰라도 송신 가능

- 백업 지원 => 안정성 ↑ 

- 라우팅 규칙을 활용하여 하나의 메시지로도 여러 클라이언트가 받을 수 있도록 해줌

메시지(Message) = 다양한 형태와 형식을 가질 수 있는 데이터 

단점

- 메시지 전체를 관리하는 시스템이 따로 필요

- 시스템 구조가 복잡해지고 이에 대한 오버헤드 발생 가능성 존재

 

메시지 큐(Message Queue) 

- 분산 시스템에서 비동기 메시지를 저장하고 전달하는 컴퓨팅 컴포넌트 중 하나

- MOM의 단순 구현체로 메시지 전송을 위해 메시지 전송 구조를 가진 미들웨어

- 수신 측에서 준비될 때까지 메시지를 보관하고 관리하며 대기하는 역할

- FIFO(First In First Out) 원칙에 따라 메시지를 처리

 

메시지 채널(Message Channel)

- 프로그램 또는 시스템 구성 요소 간에 데이터를 교환하고 통신하는 데 사용되는 통신 매커니즘 중 하나

- 다른 엔티티 간에 비동기적으로 메시지를 전송하고 수신하는 방법을 제공

=> 시스템 간 통신 단순화 + 효과적인 관리 가능

- 송신 측에서 특정 토픽 또는 채널 메시지를 전송하면 메시지 채널은 메시지를 메시지 큐에 추가하고 해당 토픽 또는 채널에서 수신 측이 준비되면 메시지를 전달

 

메시지 브로커(Message Broker)

정의

- 컴퓨터 시스템 간에 메시지를 중계하고 전달하는 소프트웨어나 서비스

장점

1. 어플리케이션 간의 의존성 제거
- 어플리케이션 간의 의존성으로 인하여 다음과 같은 문제가 발생하지만 메세지 브로커를 도입함으로써 해결 가능

  • 송신 및 수신 서버의 수가 유동적이면 정상적으로 동작이 어려움
    → 메시지 브로커 주소만 알고 있으면 송신 및 수신 서버 수에 상관없이 전송 가능 
  • 송신 및 수신 서버가 모두 정상적으로 동작해야만 한다는 것 
    → 수신 서버에 문제가 생겨도 정상 동작
  • 메시지 전달 보장에 대한 전달 보장 메커니즘이 없거나 구현하기 어려움
    → 메시지 브로커 내에 전달 보장 메커니즘 구현되어 있음

2. 메시지 처리 시점

- 수신 측에서 원하는 시점에 메시지를 처리할 수 있도록 메시지 버퍼링 지원

 

3. 다양하고 유연한 통신

- P2P, Pub/Sub 방식을 지원하여 1:1, 1:N, N:1, N:M 방식으로 통신 가능

단점

1. 병목현상 지점(Bottleneck Point) 가능성

- 서버들의 수가 확장하는 가운데 메시지 브로커의 수는 그대로이면 메시지 큐에 메시지가 수 없이 쌓이는 병목현상이 발생하여 요청 처리 속도가 감소할 수 있음

 

2. 종료 가능성

- 메시지 브로커가 종료되면 송신 및 수신 측이 커뮤니케이션 불가능 상태에 빠짐

 

3. 일반 서버와 별개로 운영 필요

 

Reference

https://binux.tistory.com/74

 

Message Broker - 왜 사용하는 것일까 ?

RabbitMQ, Kafka를 들어보기도 하고, 사내에서 사용하기도 하다보니 찾아보며 공부하는 것이 좋겠다 싶어 이렇게 정리하게 되었습니다. 뭐, 대충 어떠한 역할을 하는지는 알고 있었지만, 제일 중요

binux.tistory.com

 

'CS > 네트워크' 카테고리의 다른 글

CLI vs REST 비교  (0) 2023.12.13
Ceph  (0) 2023.12.11
HTTP  (0) 2023.09.10
RSA  (0) 2023.05.03
Client 인증 방식 (Cookie, Session, JWT)  (0) 2023.05.02

댓글