일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- AWS
- 앤서블
- AWS Solution Architect
- 리버스 프록시
- VPC
- Compute Engine
- Cloud Spanner
- gcp
- Cloud SQL
- Google Cloud
- Kubernetes Engine
- Google Cloud Platorm
- Amazon Web Service
- Solution Architect
- Reverse Proxy
- Google Cloud Platrofm
- playbook
- AWS 자격증
- kubernetes
- Cloud Datastore
- Cloud Storage
- Solution Architect Certificate
- Cloud Bigtable
- ansible
- Google Cloud Platform
- GKE
- container
- AWS Certificate
- 아마존웹서비스
- AWS Database
- Today
- Total
sungwony
[Message Broker] 메세지 브로커 본문
메세지 브로커(message broker)란?
메세지 브로커(integration broker, interface engine)는 송신자(sender)와 수신자(receiver) 사이에서 메세지의 전달을 중재하는 컴퓨터 프로그램 모듈이다. 메세지 브로커는 정형화된 메세지의 교환을 통해 어플리케이션간의 소통이 이뤄지는 네트워크 엘리먼트(element)이다.
메세지 브로커의 목적, 기능, 설계
메세지 브로커는 메세지의 유효성, 전송, 라우팅을 위한 아키텍처 패턴이다. 이것은 어플리케이션 사이의 커뮤니케이션을 중재하고 어플리케이션간의 메세지 전달을 위한 상호 인식(mutual awareness)를 줄여 어플리케이션간의 결합성을 낮춘다(decoupling)
주요한 목적은 어플리케이션으로 부터 메세지를 받아 어떤 역할을 수행하는데 있다. 메세지 브로커는 엔드 포인트(end-point)를 분리(decouple)시킬 수 있고 NFR(non-functional requirement)를 충족시키며 중재 함수(intermediary function)을 간편하게 재사용한다. 예를들어 메세지 브로커는 다중 수신자, 신뢰할 수 있는 저장소(storage), 검증된 메세지의 전송과 트랜잭션 관리를 위해 작업부하 큐(workload queue)나 메세지 큐(message queue)를 사용할 수 있다.
이 밖에도 메세지 브로커는 다음과 같은 용도로 사용된다.
- 하나 이상의 목적지로의 메세지 라우팅
- 메세지의 형태 변형
- 메세지를 수집해 여러 메세지로 분해하여 대상으로 보내 응답을 하나의 메세지로 재구성하여 사용자에게 반환
- 메세지의 양 증가 또는 저장을 위한 외부 저장소와 상호작용
- 데이터 검색을 위한 웹 서비스 호출
- 이벤트 또는 에러의 응답
- 발행-구독(publish-subscribe) 패턴을 활용한 컨텐츠와 토픽 기반 메세지 라우팅 제공
메세지 브로커는 일반적으로 다음 두 가지 중 한가지 패턴을 기반으로한다.
허브 앤 스포크(hub-and-spoke) : 중앙 서버가 통합 서비스를 제공하는 메커니즘으로 작동
메세지 버스(message bus) : 메세지 브로커가 버스에서 작동하는 통신 백본 또는 분산 서비스
메세지 브로커 소프트웨어
- Amazon Web Service(AWS) Simple Queue Service(SQS)
- Apache ActiveMQ
- Apache Kafka
- IBM MQ
- RabbitMQ
출처
Message Broker wikipedia - https://en.wikipedia.org/wiki/Message_broker