Top Banner
EnMasse : open sourcing the messaging & IoT The messaging as a service platform Paolo Patierno Senior Software Engineer Luca Bigotta Solution Architect 9/11/2017
18

EnMasse : open sourcing the messaging & IoT

Jan 22, 2018

Download

Software

Paolo Patierno
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: EnMasse : open sourcing the messaging & IoT

EnMasse : open sourcing the messaging & IoT

The messaging as a service platform

Paolo PatiernoSenior Software Engineer

Luca BigottaSolution Architect

9/11/2017

Page 2: EnMasse : open sourcing the messaging & IoT

EnMasse

2

Messaging-as-a-Service

● Open source cloud messaging running on Kubernetes and OpenShift● enmasse.io● github.com/enmasseproject/enmasse

Page 3: EnMasse : open sourcing the messaging & IoT

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

Page 4: EnMasse : open sourcing the messaging & IoT

Basic idea

4

Routers and brokers

R

R

R

P C

B

B

Page 5: EnMasse : open sourcing the messaging & IoT

Routing vs Brokering

5

Broker

Producer Broker Consumer

Send message

Accepted

Send message

Accepted

Page 6: EnMasse : open sourcing the messaging & IoT

Routing vs Brokering

6

Router

Producer Router Consumer

Send message

Accepted

Send message

Accepted

Page 7: EnMasse : open sourcing the messaging & IoT

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

Page 8: EnMasse : open sourcing the messaging & IoT

EnMasse

8

Architecture - “Standard” address space

Qpid Dispatch Routernetwork

ActiveMQ Artemisbrokers

Admin

MQTT gatewayMQTT clients

AMQP & JMS clients

Page 9: EnMasse : open sourcing the messaging & IoT

EnMasse

9

“Brokered” address space

ActiveMQ Artemisbrokers

Admin

AMQP & JMS clients

Page 10: EnMasse : open sourcing the messaging & IoT

EnMasse

10

Security

Qpid Dispatch Routernetwork

ActiveMQ Artemisbrokers

Admin

MQTT gatewayMQTT clients

AMQP & JMS clients

With AMQP SASL plugin

Page 11: EnMasse : open sourcing the messaging & IoT

Scaling

11

Routers

R

R

R

R

A

Page 12: EnMasse : open sourcing the messaging & IoT

Scaling

12

Routers

R

R

R

R

A

Page 13: EnMasse : open sourcing the messaging & IoT

Scaling

13

Brokers

a a b b

Router network

a

Page 14: EnMasse : open sourcing the messaging & IoT

Scaling

14

Brokers

a a b b

Router network

a

Page 15: EnMasse : open sourcing the messaging & IoT

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

Page 16: EnMasse : open sourcing the messaging & IoT

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

Page 17: EnMasse : open sourcing the messaging & IoT
Page 18: EnMasse : open sourcing the messaging & IoT