Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

EnMasse : open sourcing the messaging & IoT

742 views

Published on

Slide deck from the Red Hat Open Source Day 2017 in Rome, speaking about the EnMasse project, a messaging as a service platform running on Kubernetes and OpenShift

Published in: Software
  • Be the first to comment

  • Be the first to like this

EnMasse : open sourcing the messaging & IoT

  1. 1. EnMasse : open sourcing the messaging & IoT The messaging as a service platform Paolo Patierno Senior Software Engineer Luca Bigotta Solution Architect 9/11/2017
  2. 2. EnMasse 2 Messaging-as-a-Service ● Open source cloud messaging running on Kubernetes and OpenShift ● enmasse.io ● github.com/enmasseproject/enmasse
  3. 3. EnMasse 3 Features ● Multiple communication patterns: request/response, publish/subscribe and competing consumers ● Support for “store and forward” and direct messaging mechanisms ● Scale and elasticity of message brokers ● AMQP 1.0 and MQTT support ● Simple setup, management and monitoring ● Multitenancy: manage multiple independent instances ● Deploy “on premise” or in the cloud
  4. 4. Basic idea 4 Routers and brokers R R R P C B B
  5. 5. Routing vs Brokering 5 Broker Producer Broker Consumer Send message Accepted Send message Accepted
  6. 6. Routing vs Brokering 6 Router Producer Router Consumer Send message Accepted Send message Accepted
  7. 7. Address model 7 Address space ● Type ● Plan Address ● Type ● Plan ● Properties 1 N 1 M ● Address space : group of addresses accessible through a single connection (per protocol) ● Address : a destination used for sending and receiving messages Spaces and Addresses
  8. 8. EnMasse 8 Architecture - “Standard” address space Qpid Dispatch Router network ActiveMQ Artemis brokers Admin MQTT gateway MQTT clients AMQP & JMS clients
  9. 9. EnMasse 9 “Brokered” address space ActiveMQ Artemis brokers Admin AMQP & JMS clients
  10. 10. EnMasse 10 Security Qpid Dispatch Router network ActiveMQ Artemis brokers Admin MQTT gateway MQTT clients AMQP & JMS clients With AMQP SASL plugin
  11. 11. Scaling 11 Routers R R R R A
  12. 12. Scaling 12 Routers R R R R A
  13. 13. Scaling 13 Brokers a a b b Router network a
  14. 14. Scaling 14 Brokers a a b b Router network a
  15. 15. MQTT over AMQP 15 ● MQTT gateway ○ Handles connections with remote MQTT clients ○ Bridges MQTT - AMQP protocols ● MQTT lwt ○ Provides the “will testament” feature ○ In charge to recover & send the “will” if client dies ● It brings MQTT features over AMQP so … ○ … it’s not just about translating and bridging protocols … ○ … “will testament” works for AMQP clients as well
  16. 16. EnMasse 16 Future work ● HTTP(S) support ● Bridging address spaces ● Kafka integration ○ as part of the “standard” address space (i.e. one AMQP connection for multiple destinations, even a Kafka topic) ○ as “kafka” address space (accessible through native Kafka clients) ● Improve Kubernetes support ○ RBAC ○ CI (only for OpenShift at present) ○ ingress (with better support for TLS SNI) ● Integrate better with Eclipse Hono ○ provides interface and API (telemetry, event, …) for connecting IoT devices

×