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. EnMasse promotes open standards like AMQP and MQTT etc. and aims to provide support for other protocols as well.
- Handles different communication patterns like request-response, pub-sub and events
- Provides an address model and an API for managing messaging infrastructure
- Supports multitenancy with multiple isolated address spaces
- Supports authentication of clients and identity management using keycloak
- Built on Kubernetes/OpenShift: deploy on-premise or in the cloud
EnMasse supports a
standard and a
brokered address space types, each with different semantics. 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 or just as a cloud-ready version of a message broker.
Standard address space
The standard address space type is the default type in EnMasse, and is focused on scaling in the number of connections and the throughput of the system. It supports AMQP and MQTT protocols, with more to come in the future. This address space type is based on based on other open source projects like Apache ActiveMQ Artemis and Apache Qpid Dispatch Router and provides elastic scaling of these components. From 40000 feet, the messaging infrastructure looks like this:
Brokered address space
The brokered address space type is the “classical” message broker in the cloud. It supports JMS with transactions, message groups, selectors on queues etc. These kind of features are powerful in building complex messaging patterns. This address space is also the most light weight as it features only a single broker + a management console. The high level architecture of this address space looks like this:
To learn more about EnMasse, take a look at our documentation.