HiveMQ Azure Cluster Discovery Extension is released

HiveMQ Azure Cluster Discovery Extension is released

author portrait

Written by Till Seeberger

Category: HiveMQ Extension Third Party

Published: February 19, 2021


The HiveMQ team is pleased to announce the availability of the HiveMQ Azure Cluster Discovery Extension.

This HiveMQ extension allows your HiveMQ cluster nodes to discover each other dynamically by regularly exchanging information through an Azure Storage Account.

HiveMQ instances are added at runtime as soon as they become available by placing the associated connection information in a configured Storage Container as Blobs. Our cluster-discovery extension regularly checks the configured Storage Container for files from other HiveMQ nodes. Additionally, every broker updates its own file on a regular basis to prevent the file from expiring. An Azure Connection String is used for authorization to the Azure Storage Account.

This image gives you an overview of how the extension works:

Overview of the Azure Cluster Discovery Extension

Installation

Please follow this step-by-step instruction to install the HiveMQ Azure Cluster Discovery Extension for your deployment:

  1. Download the extension from the HiveMQ Website or our GitHub Releases Page.
  2. Copy the content of the zip file to the extensions folder of your HiveMQ nodes.
  3. Modify the azDiscovery.properties file to suit your needs.
  4. Change the Discovery Mechanism of HiveMQ to extension.

Configuration

The information each node writes into the bucket consists of an IP address and a port. The IP address and port are taken from the external-address and external-port that are configured in the cluster transport (config.xml). If this information is not set, the bind-address and bind-port are used.

The azDiscovery.properties can be reloaded during runtime.

Config Name Default Value Description
connection‑string The required connection string of your Azure Storage Account. See the Azure Documentation for more information.
container‑name hivemq-discovery The name of the Azure Storage Container in which the Blob for the discovery is created. If this container does not yet exist, the extension creates one.
file‑prefix hivemq-node- An optional file prefix for the Blob to create that holds the cluster node information for the discovery. Do not omit this value if you reuse the specified container for other files.
file‑expiration 360 The length of time in seconds after which other nodes delete a created Blob that is not updated.
update‑interval 180 The length of time in seconds in which the Blob is updated. This interval must be shorter than the file expiration setting.

Need help?

If you need assistance, we are happy to help. The best place to get in contact is our Support.

Have a great day,

Till from the HiveMQ Team

author Till Seeberger

About Till Seeberger

Till is a software engineer at HiveMQ and maintainer of the MQTT CLI open-source project.
mail icon Contact Till

newer posts HiveMQ Community Edition 2021.1 is released
Welcome to Two New Industrial IoT Partners to HiveMQ older posts