jimenezrick/mumq
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
μMQ
=======
Very simple, small and fast STOMP message broker with in-memory
persistence written in Erlang.
μMQ supports a subset of STOMP 1.0: no transaction support, nor receipt
header and the acknowledge method is always `auto'.
By default, the server opens the TCP port 61613 and 61614 for SSL.
The persistence works subscribing to any queue using the `id' header, if
the session is broken for any reason, the client can reconnect and
subscribe to the same queue using the previous `id' and it will received
the messages that were sent to the queue while he was not connected.
The queue names must have the format of an absolute UNIX path, like /foo
or /foo/bar.
Any subscription will always suppose an implicit subscription to any
other existing queue with the same name prefix (i.e., specifying /foo,
you will be also subscribed to /foo/bar, /foo/bar/bur and so on).
Install
---------
To compile μMQ simply run:
make
To start an instance of the server for testing in the TCP port 61613,
just run:
./start.sh
In order to create a target system for painless deployment, run:
make release
This command will create the target system under rel/mumq/, copy it to
your desired destination and use the next helper script to control it:
./rel/mumq/bin/mumq {start|stop|restart|console|...}
How to enable SSL
-------------------
μMQ will enable SSL automatically if you specify a private key and a
certificate.
Use this pair of commands to create a new key and a new self-signed
certificate if you don't have one:
openssl genrsa -out mumq-key.pem 1024
openssl req -new -x509 -nodes -sha1 -days 365 \
-key mumq-key.pem -out mumq-cert.pem
And also add to the μMQ application configuration the next parameters:
{ssl_certfile, "/path/to/mumq-cert.pem"}
{ssl_keyfile, "/path/to/mumq-key.pem"}
License
---------
This software is published under MIT license.