Date Posted: August 26, 2008
Update: May 29, 2009
Version 1.1.0 adds support for multiple listeners, stopping and starting of bridge connections and topic "mount points".
What is Really Small Message Broker?
Really Small Message Broker is a small server that uses MQ Telemetry Transport (MQTT) (Version 3) for lightweight, low-overhead messaging. Really Small Message Broker enables messaging to and from tiny devices such as sensors and actuators over networks that might have low bandwidth, high cost, and varying reliability. "Publishers" send messages to the broker, which then distributes the messages to the "subscribers" who have requested to receive those messages.
Really Small Message Broker has a "bridge" that enables connections to other MQTT-capable servers; this bridge allows messages to be passed between Really Small Message Broker instances as well as to other brokers such as Lotus Expeditor micro broker ("Microbroker") and WebSphere Message Broker. Both Microbroker and Really Small Message Broker can run in embeddded systems in order to provide a messaging infrastructure in remote installations and pervasive environments. However, Really Small Message Broker needs about 100 times less memory to run than Microbroker; therefore, it can extend the reach of the MQTT messaging infrastructure further.
Really Small Message Broker also makes it easy to connect brokers together into a messaging infrastructure (either peer-to-peer or hierarchically). Really Small Message Broker's easy configuration and low resource requirements provide great flexibility in messaging solutions for embedded environments.
How does it work?
Really Small Message Broker is a small program that sends and receives data in the form of messages to and from applications and devices over TCP/IP network connections. Data from a variety of sources (including other applications, other brokers, and sensors and meters that measure their physical environment) is published to the broker. The broker then sends a copy of that data to applications that have registered their interest in that data by subscribing to it.
Really Small Message Broker takes up only 50 KB of storage space and can be run in only 150 KB or fewer of memory (actual figures vary), making it ideal for installing and running on small servers and embedded devices, such as the Linksys NSLU2 or other low-powered servers. This low resource use is possible because the broker was written in C and has a simple internal design and simple external features. The package contains binary executables for Windows and Linux, as well as documentation.
MQTT clients for Java and C are available for download in the WebSphere MQ SupportPacs IA92 and IA93. The Java client contains a useful MQTT Exerciser GUI sample. You can also write your own clients using the MQTT specification.
About the technology author(s)
Ian Craggs is a software engineer at the IBM United Kingdom development laboratory at Hursley, near Winchester. He works in the Pervasive and Advanced Messaging Technologies group and specializes in software testing.
