Skip to content

rgodfrey/enmasse

 
 

Repository files navigation

Systemtest Status GitHub release


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.

Features

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

Components

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

Getting started

See the Getting Started for how to install EnMasse. For more details on architecture and implementation, see documentation.

Getting help

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.

Contributing

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.

License

EnMasse is licensed under the Apache License, Version 2.0

About

EnMasse main repository

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 61.7%
  • JavaScript 34.8%
  • Shell 1.5%
  • HTML 1.3%
  • Python 0.6%
  • Makefile 0.1%