) is an intermediary computerprogram modulethat translates a message from the formal messaging protocol of the sender to the formal messaging protocol of the receiver. Message brokers are elements in telecommunication or computer networks where software applications communicate by exchanging formally-defined messages.Message brokers are a building block ofmessage-oriented middleware(MOM) but are typically not a replacement for traditional middleware like MOM andremote procedure call(RPC).

A message broker is anarchitectural patternfor message validation, transformation, and routing. It mediates communication among applications, minimizing the mutual awareness that applications should have of each other in order to be able to exchange messages, effectively implementingdecoupling.4

The primary purpose of a broker is to take incoming messages from applications and perform some action on them. Message brokers can decouple end-points, meet specific non-functional requirements, and facilitate reuse of intermediary functions. For example, a message broker may be used to manage a workload queue ormessage queuefor multiple receivers, providing reliable storage, guaranteed message delivery and perhaps transaction management. The following represent other examples of actions that might be handled by the broker23:

Transform messages to an alternative representation

Perform message aggregation, decomposing messages into multiple messages and sending them to their destination, then recomposing the responses into one message to return to the user

Interact with an external repository to augment a message or store it

Provide content and topic-based message routing using thepublishsubscribe pattern

Message brokers are generally based on one of two fundamental architectures:hub-and-spokeand message bus. In the first, a central server acts as the mechanism that provides integration services, whereas with the latter, the message broker is a communication backbone or distributed service that acts on thebus.3Additionally, a more scalable multi-hub approach can be used to integrate multiple brokers.3

Amazon Web Services (AWS)Simple Queue Service(SQS)

Comverse Message Broker (Comverse Technology)

Eclipse Mosquitto MQTT Broker (Eclipse Foundation)

RabbitMQMozilla Public License, written inErlang)

RedisAn open source, in-memory data structure store, used as a database, cache and message broker.

Tarantool, a NoSQL database, with a set ofstored proceduresfor message queues

Guide to Cloud Computing for Business and Technology Managers: From Distributed Computing to Cloudware Applications

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

. McGraw Hill Professional. pp.275276.ISBN

Thisnetwork-relatedsoftwarearticle is astub. You can help Wikipedia byexpanding it.

This page was last edited on 16 February 2019, at 20:38

Text is available under the; additional terms may apply. By using this site, you agree to theTerms of UseandPrivacy Policy. Wikipedia® is a registered trademark of theWikimedia Foundation, Inc., a non-profit organization.