ChanaMQ is an Akka based, AMQP messaging broker. It currently supports:
- AMQP 0-9-1
- ChanaMQ is still in the alpha phase.
- Methods/Features are not supported yet:
- Authentication / Access Control
Virtual hostNative ssl/tls- Connection.SecureOk / Connection.Blocked / Connection.Unblocked
Channel.Flow- Exchange.Bind / Exchange.Unbind
Basic.Reject/Basic.Nack/Basic.Recover/ Basic.RecoverAsync(use Basic.Recover)- Tx.Select / Tx.Commit / Tx.Rollback
Confirm.Select/Confirm.SelectOk
- sbt clean chana-mq-server/dist
- unzip chana-mq-server/target/universal/chana-mq-server-x.x.x.zip;
- cd conf; cp prod.conf application.conf
- edit application.conf for your configuration
- cd bin; ./chana-mq-server &
- To enable persistent feature, you need to install Cassandra and create chanamq space and tables as create-cassantra.cql
You can change the default admin REST server port via configuration chana.mq.amqp.admin.port
. The admin interface is forced to be localhost
curl localhost:15672/admin/vhost/put/vhostname
curl localhost:15672/admin/vhost/delete/vhostname
HA of ChanaMQ is based on Akka cluster HA. It does not support queue mirror, but the message will survive hardward failure and node down if its delivery mode is set to 2 (persistent), and the queue and exchange are both durable. Each message is located on a single node, but will be reloacted to another node and recovered from persistence when this single node is down.
ChanaMQ server is licensed under the Apache License version 2.0.