In a telecommunication network where programs communicate by exchanging formally-defined messages (that is, through the act of messaging), a message broker is an intermediary program that translates messages from the formal messaging protocol of the publisher to the formal messaging protocol of the receiver. Message broker programs are sometimes known as middleware .
In a publish/subscribe architecture for machine-to-machine (M2M) communication in the Internet of Things (IoT), the message broker decouples communication between devices that publish information and other devices that subscribe to the information. This means that the publishing device, which might be a sensor, does not need to know anything about subscribers; it only has to send messages to the broker and then the broker manages and distributes the messages. Because subscribers and publishers never communication directly with each other, there is less risk of a publisher being directly attacked by a subscriber. The message broker, on the other hand, can become a target for attacks if not configured properly.