Hermes: Pub/Sub for the web
Once in a while, some new disruptive technology comes along that unseats the established giants. Hermes is a new open source Pub/Sub library from Tellago DevLabs. This little REST service could unseat a giant or two.
Here are a few reasons you should give it a try.
Hermes is standard. It’s a RMM level 3 REST service and speaks standard HTTP and XML. JSON support is planned.
Hermes is scalable. Hermes doesn’t waste resources tracking subscriptions, maintaining connections to transactional message queues, and fighting the web’s nature to push data around the globe. Instead, messages are stored in Mongo DB and published to atom feeds. Clients poll these feeds for new messages. The web is built on polling. In fact…
Hermes is web scale. Obviously, I don’t mean it could host Twitter on your old laptop. Hermes takes advantage of the web to scale. A Squid reverse proxy server will solve any scalability problems most of us could encounter. If subscribers are overwhelming your server, cache the atom feeds for a fraction of a second. If new messages are streaming in too fast, distribute the load across several Hermes servers. Or even better, let Amazon or Microsoft worry about it all. This isn’t your father’s enterprise middleware style pub/sub.
Hermes is simple. The REST service really pushes you where you need to go. I’ve got big plans for Hermes in a project at work, so I’ve been working on the Javascript client library. Even with my limited understanding of the language, it was pretty easy.
Give it a try. Hermes uses the BSD license.
Here’s a chat example:in 17 lines of Javascript:
[gist id=1087550 file=ChatClient.js]
Hermes sandal photo © ecastro and licensed under Creative Commons Attribution 2.0