μMQ: very simple, small and fast STOMP message broker with in-memory persistence written in Erlang
Erlang Shell
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
include
rel
src
test
.gitignore
AUTHOR
LICENSE
Makefile
README
TODO
rebar.config
start.sh

README

  μ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.