메시지 브로커
Message broker메시지 브로커(통합 브로커 또는 인터페이스[1] 엔진이라고도 함)는 메시지를 송신자의 정식 메시징 프로토콜에서 수신자의 정식 메시징 프로토콜로 변환하는 중간 컴퓨터 프로그램 모듈입니다.메시지 브로커는 소프트웨어 응용 프로그램이 공식적으로 정의된 [1]메시지를 교환하여 통신하는 통신 또는 컴퓨터 네트워크의 요소입니다.메시지 브로커는 메시지 지향 미들웨어(MOM)의 구성 요소이지만 일반적으로 MOM이나 Remote Procedure Call(RPC;[2][3] 리모트프로시저 콜)과 같은 기존 미들웨어를 대체하지는 않습니다.
개요
메시지 브로커는 메시지 검증, 변환 및 라우팅을 위한 아키텍처 패턴입니다.이는 애플리케이션[vague] 간의 통신을 중개하여 메시지를 교환하기 위해 애플리케이션이 서로 가져야 한다는 상호 인식을 최소화함으로써 효과적으로 [4]분리를 구현합니다.
목적
브로커의 주요 목적은 응용 프로그램에서 들어오는 메시지를 받아 해당 메시지에 대해 몇 가지 작업을 수행하는 것입니다.메시지 브로커는 엔드 포인트를 분리하여 특정 비기능 요건을 충족하고 중간 기능의 재사용을 촉진할 수 있습니다.예를 들어, 메시지 브로커를 사용하여 워크로드 큐 또는 여러 수신자의 메시지 큐를 관리할 수 있으며, 신뢰성 높은 스토리지, 보증된 메시지 전달 및 트랜잭션 관리를 제공할 수 있습니다.
라이프 사이클
다음은 [2][3]브로커가 처리할 수 있는 다른 작업 예를 나타냅니다.
- 하나 이상의 수신처에 메시지 라우팅
- 메시지를 대체 표현으로 변환
- 메시지 집약을 실행하여 메시지를 여러 메시지로 분해하여 수신처로 전송한 후 응답을 하나의 메시지로 재구성하여 사용자에게 반환합니다.
- 외부 저장소와 상호 작용하여 메시지 확대 또는 저장
- 웹 서비스를 호출하여 데이터 검색
- 이벤트 또는 오류에 대응
- 퍼블리시-서브스크라이브 패턴을 사용하여 콘텐츠 및 토픽 기반 메시지 라우팅 제공
메시지 브로커는 일반적으로 허브 앤 스포크와 메시지버스라는2개의 기본적인 아키텍처 중 하나를 기반으로 합니다.첫 번째로 중앙 서버는 통합 서비스를 제공하는 메커니즘으로 기능하지만, 후자의 경우 메시지브로커는 버스에서 [3]동작하는 통신 백본 또는 분산 서비스입니다.또한 확장성이 뛰어난 멀티 허브 방식을 사용하여 여러 [3]브로커를 통합할 수 있습니다.
메시지 브로커 소프트웨어 목록
- Amazon Web Services(AWS) Amazon MQ
- 아마존 웹 서비스(AWS) 키네시스
- Apache 액티브MQ
- 아파치 아르테미스
- 아파치 카프카
- Apache Qpid
- 아파치 펄서
- 클로버 리프(배란 라이프라인 - NL)
- Comverse Message Broker (Comverse Technology)
- Eclipse Moscitto MQTT 브로커(Eclipse Foundation)
- EMQX EMQX MQTT 브로커
- Enduro/X 트랜잭션메시지 큐(TMQ)
- 파이낸셜 퓨전 메시지 브로커(Sybase)
- 퓨즈 메시지 브로커(엔터프라이즈 ActiveMQ)
- 기어맨
- Google Cloud Pub/Sub(Google)
- HiveMQ HiveMQ MQTT 브로커
- HornetQ (Red Hat) (현재는 Apache Artemis의 일부)
- IBM App Connect
- IBM MQ
- JBoss 메시징(JBoss)
- 조람
- Microsoft Azure 서비스 버스(Microsoft)
- Microsoft BizTalk Server (Microsoft)
- Draily Data(C10M 문제에 대처하기 위해 작성된 WebSockets 메시지브로커)
- NATS(MIT 오픈 소스 라이센스, Go로 작성)
- IoT Edge용 NanoMQ MQTT 브로커
- 메시지 큐 열기
- Oracle 메시지 브로커(Oracle Corporation)
- Rabbit MQ (Mozilla Public License, Erlang으로 작성)
- Redis 데이터베이스, 캐시 및 메시지 브로커로 사용되는 오픈 소스 메모리 내 데이터 구조 저장소입니다.
- SAP PI(SAP AG)
- SMC SMC 플랫폼
- Solace PubSub+
- 툴킷 확산
- 메시지 큐에 대한 저장 프로시저 세트가 있는 NoSQL 데이터베이스인 Tarantool
- TIBCO 엔터프라이즈메시지 서비스
- WSO2 메시지브로커
- 제로MQ
「 」를 참조해 주세요.
레퍼런스
- ^ a b "IB (integration broker)". IT Glossary. Gartner, Inc. Retrieved 17 May 2018.
- ^ a b Kale, V. (2014). "Integration Technologies". Guide to Cloud Computing for Business and Technology Managers: From Distributed Computing to Cloudware Applications. CRC Press. pp. 107–134. ISBN 9781482219227. Retrieved 17 May 2018.
- ^ a b c d Samtani, G.; Sadhwani, D. (2013). "Integration Brokers and Web Services". In Clark, M.; Fletcher, P.; Hanson, J.J.; et al. (eds.). Web Services Business Strategies and Architectures. Apress. pp. 71–84. ISBN 9781430253563. Retrieved 17 May 2018.
- ^ Ejsmont, A. (2015). "Asynchronous Processing". Web Scalability for Startup Engineers. McGraw Hill Professional. pp. 275–276. ISBN 9780071843669.
- ^ Rotaru, Mihai; et al. (December 2017). "Reliable messaging to millions of users with MigratoryData" (PDF). Proceedings of the 18th ACM/IFIP/USENIX Middleware Conference: Industrial Track: 1–7. doi:10.1145/3154448.3154449.