Skip to content
hozn edited this page Oct 21, 2012 · 1 revision

STOMP (Streaming Text Orientated Messaging Protocol) is a simple and lightweight protocol that resembles HTTP. It provides a publisher/subscriber protocol that forms the basis for any number of message queuing architectures.

Here are just a few examples of how one might use STOMP (and CoilMQ):

  • Implement a distributed worker pool where workers subscribe to STOMP queues for tasking.
  • Subscribe to STOMP topics from Flash clients and push broadcast messages from a web application to implement server push.
  • Use queues (or durable topics, which CoilMQ doesn't yet provide) to support message passing in applications that may need to also work offline.
  • etc.

CoilMQ is a simple, configurable STOMP message broker (aka STOMP server) written in Python. CoilMQ is inspired by the simple designs of the Ruby stompserver project.

The theme here is simple and lightweight messaging. People looking for enterprise-grade messaging will probably want to look at more advanced protocols and more established brokers. On the other hand, if you need something that's simple to implement (and debug) in your project, STOMP may just be the protocol for you. (And CoilMQ can help you get there.)

Other Projects

Check out these other Python message broker options:

  • MorbidQ - A Python message broker that is built on Twisted. YMMV.
  • Sprinkle - Another Python broker. Not sure if it's being actively maintained.

If you need a high-performance broker, you may wish to take a look at one of these projects:

Clone this wiki locally