Loading AI tools
Computer program module From Wikipedia, the free encyclopedia
A message broker (also known as an integration broker or interface engine[1]) is an intermediary computer program module that 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.[1] Message brokers are a building block of message-oriented middleware (MOM) but are typically not a replacement for traditional middleware like MOM and remote procedure call (RPC).[2][3]
A message broker is an architectural pattern for message validation, transformation, and routing. It mediates communication among applications[vague], minimizing the mutual awareness that applications should have of each other in order to be able to exchange messages, effectively implementing decoupling.[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 or message queue for 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 broker:[2][3]
Message brokers are generally based on one of two fundamental architectures: hub-and-spoke and 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 the bus.[3] Additionally, a more scalable multi-hub approach can be used to integrate multiple brokers.[3]
Message brokers that are purpose built to achieve time-bounded communications with end-to-end predictability allow for the development of real-time systems that require execution predictability. Frequently systems with real-time requirements involve interaction with the real world (robotics, vehicle automation, Software-defined radio, et al.
The Object Management Group Real-time CORBA specification provides a theoretical foundation for predictable communications technologies by levying the following requirements:
For the purposes of this specification, “end-to-end predictability” of timeliness in a fixed priority CORBA system is defined to mean:
• respecting thread priorities between client and server for resolving resource contention during the processing of CORBA invocations;
• bounding the duration of thread priority inversions during end-to-end processing;
• bounding the latencies of operation invocations
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.