This HiveMQ extension allows your HiveMQ cluster nodes to discover each other dynamically by regularly exchanging their information via Azure Blobs in an Azure Blob Storage Container.
HiveMQ instances are added at runtime as soon as they become available by placing their information, on how to connect to them, to the configured Azure Storage Container. The extension will regularly check the configured Azure 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.
extensions
folder of your HiveMQ nodes.azDiscovery.properties
file for your needs.extension
.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
which is configured in the cluster transport
(config.xml). If they are not set, the bind-address and bind-port will be used.
The azDiscovery.properties
can be reloaded during runtime.
Config Name | Default Value | Description |
---|---|---|
connection‑string | none | 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. |