Hi Everyone,
Happy Holidays! In the spirits of holiday sharing, I wanted to share a project I've been working on.
SurgeMQ
-------
SurgeMQ is a high performance MQTT broker and client library that aims to be fully compliant with MQTT 3.1 and 3.1.1 specs. It is currently under active development and should be considered unstable until further notice. However, it has passed enough compatibility tests w/ other client libraries (such as libmosquitto, Paho conformance tests, Paho Go client library and Paho C client library) that I think it's in a state that one can start playing with it.
You can find more details about SurgeMQ here:
http://zhen.org/blog/surgemq-high-performance-mqtt-server-and-client-libraries-in-go/
pingmq
------
To demonstrate how one can use SurgeMQ, I wrote a quick utility called `pingmq` that hopefully will help. In this simplified use case, a network administrator can setup server uptime monitoring system by periodically sending ICMP ECHO_REQUEST to all the IPs in their network, and send the results to SurgeMQ. Then multiple clients can subscribe to results based on their different needs. For example, a client maybe only interested in any failed ping attempts, as that would indicate a host might be down. Or a client maybe interested in only a certain number of IPs. SurgeMQ would enable these clients to subscribe to the right topics and get the right sets of information.
More details can be found at:
http://godoc.org/github.com/surge/surgemq/cmd/pingmq
Comments and feedbacks welcome and encouraged!
Thanks and Happy Holidays!
Jian