EnMasse is an open source messaging platform, with focus on scalability and performance. EnMasse can run on your own infrastructure or in the cloud, and simplifies the deployment of messaging infrastructure.
The EnMasse project that aims to create, as a community, an open source messaging platform that runs on Kubernetes and OpenShift, using open standards like AMQP, MQTT, HTTP etc. EnMasse is based on other open source projects like Apache ActiveMQ Artemis, Apache Qpid Dispatch Router and finally the Vert.x toolkit.
- Multiple communication patterns: request-response, pub-sub and events
- Support for store and forward and direct messaging mechanisms
- Elastic scaling of message brokers
- AMQP and MQTT support
- Simple setup, management and monitoring.
- Multitenancy: Manage multiple independent instances
- Built on Kubernetes/OpenShift: deploy on-premise or in the cloud
EnMasse can be used for many purposes, such as moving your messaging infrastructure to the cloud (without depending on a specific cloud provider) or building a scalable messaging backbone for IoT.
EnMasse is made of different components needed for the deployment and for handling the messaging infrastructure based on a Qpid Dispatch Router network and Apache ActiveMQ broker(s). Other broker implementations such as Apache Kafka may also be used.
- address-controller: Controls multiple instances (tenants) and per-instance address space
- ragent: Controls the router network configuration
- configserv: A bridge for subscribing to Kubernetes resource updates through AMQP
- queue-scheduler: Controls the mapping of queues to brokers
- subserv: Subscription service for durable subscriptions
- console: Messaging-centric console for managing and monitoring addresses
- mqtt-gateway: MQTT gateway for "MQTT over AMQP"
- mqtt-lwt: MQTT Last Will and Testament Service for "MQTT over AMQP"
- amqp-kafa-bridge: A bridge between AMQP and Apache Kafka
See the Getting Started for how to install EnMasse. For more details on architecture and implementation, see documentation.
Submit bugs and feature requests using the issue tracker.
For questions or feedback, reach us on IRC on #enmasse on Freenode or post to our mailing list.
See HACKING for details on how to build the different components of EnMasse. Submit patches using pull requests, or post patches to the mailing lists. See the trello board to get an idea of future plans and areas where you can contribute.
EnMasse is licensed under the Apache License, Version 2.0