Search code examples
kubernetes-helmeclipse-honoeclipse-dittoeclipse-iot

Deploying Hono with Enmasse


I am using Hono for a while, it is a pretty awesome IoT-Hub - thanks for a great job :) Now I am trying to get forward and as it is recommended by the Hono documentation, I would like to integrate the EnMasse Project and replace the default "AMQP Messaging Network in hono with the EnMasse.

After reading the EnMasse-Doc I realized that actually also EnMasse uses the same "AMQP Networking" structure as Hono by means of Qpid Dispatch router and (Multiple) ActiveMQ Artemis!

Now my Questions are:

  • What is actually the difference between the default AMQP-Messaging Network in Hono and the EnMasse?
  • I searched a lot on the Net but found no answer on how to integrate EnMasse in Hono. I am grateful for any Idea where to start!

Thanks in advance!


Solution

  • ad 1) By default, the Hono Helm chart deploys a single instance of each Qpid Dispatch Router and Artemis broker. This means that both Dispatch Router and Artemis are single points of failure. With enMasse, a network of Dispatch Routers and multiple Artemis brokers can be created and (more importantly) consistently managed. This will be important for scale out and fail over in production scenarios.

    ad 2) If you want to deploy to Kubernetes then you might want to start with using the enMasse operator to create an instance of enMasse in your kubernetes cluster. You can then use the Hono Helm chart's configuration properties to configure your Hono instance to not deploy the example AMQP Messaging Network (i.e. single Dispatch Router + Artemis) but instead to connect to the enMasse instance that you have created.