ChanaMQ Server
ChanaMQ is an Akka based, AMQP messaging broker. It currently supports:
- AMQP 0-9-1
Status
- 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
Building From Source and Packaging
- sbt clean chana-mq-server/dist
Installation
- 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
Create/Delete Virtual Host
You can change the default admin REST server port via configuration chana.mq.amqp.admin.port
. The admin interface is forced to be localhost
Create virtual host:
curl localhost:15672/admin/vhost/put/vhostname
Delete virtual host:
curl localhost:15672/admin/vhost/delete/vhostname
High Available
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.
License
ChanaMQ server is licensed under the Apache License version 2.0.