Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

EnMasse : open sourcing the messaging & IoT

1.029 Aufrufe

Veröffentlicht am

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

Veröffentlicht in: Software
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

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

×