Whats New in HiveMQ 3?
Written by HiveMQ Team
Category: HiveMQ Release
Published: September 21, 2015
What’s new in HiveMQ 3
We are pleased to announce HiveMQ 3.
This major release brings a lot of improvements every HiveMQ user benefits from.
Massive Performance boost
HiveMQ 3 shines with a huge performance boost over its previous versions. We have put all our knowledge and heart into optimizing every last bit to increase throughput to over 150.000 msg/s on moderate hardware and minimizing latencies to sub-milliseconds. HiveMQ 3 comes with a new persistence implementation which provides all QoS 1 and 2 guarantees while providing best-in-class performance
Look at the improvements yourself in our new benchmark document about the stellar performance characteristics of HiveMQ.
Download the Benchmark PDF
More stable than ever
We have optimized HiveMQ for business-critical deployments and hardened it against malicious and non-compliant MQTT clients and attackers. Security verifications make sure that no malformed MQTT messages introduce security problems or have an effect on HiveMQ’s availability. For traceability purposes HiveMQ can be configured to protocol all violations in order to enable countermeasures.
Sometimes messages of one topic need to be distributed across multiple clients. This is often the case when a single client is not able to handle a huge load of messages per second or if you need load balancing between client subscribers. This is where shared subscriptions come in. They enable arbitrary MQTT clients to share a single topic and all messages will be distributed between all these clients. Shared topics can be configured statically in the HiveMQ configuration or added dynamically at runtime using the plugin system.
Full-fledged HTTP REST Service
HiveMQ 3 comes with one of the most requested features since the plugin system was introduced: a powerful HTTP REST service. With this feature you can expose internal HiveMQ data like the amount of connected clients or number of subscribers for a certain topic to other systems via HTTP. This offers great possibilities for easy and deep integrations with HiveMQ and your existing software landscape. You can deploy Java Servlets and even JAX-RS 2.0 resources with deep MQTT integration.
New Configuration File Format
The new HiveMQ 3 configuration file is based on XML. Although we like things simple and slim, the added flexibility to allow custom configurations with structured and hierarchical elements was the decisive factor. In order to keep everything simple and making configuration file writing a breeze, we prepared a XSD to enable XML completion when writing the configuration.
HiveMQ comes with a sensible default configuration suitable for 75% of deployments. Example configurations for the most popular configurations are included in your HiveMQ installation. Of course most of the options can be changed at runtime by using the plugin system.
Some highlights the new configuration file has to offer:
- Define individual listeners for MQTT, Websockets and their secure equivalents to enable MQTT connections on different ports and settings
- Configure the persistence layer to suit your use case. Choose between disk persistence and in-memory persistence
- Specify one or more shared subscriptions
- Disallow insecure TLS versions and select the TLS cipher suites of your choice for maximum security
- Start the brand new REST service at runtime and provide fine-grained listener configurations
New holistic Monitoring Approach
Reliable monitoring for business-critical software like HiveMQ is paramount. That’s why we implemented a new integrated way of monitoring, which is leveraged in HiveMQ itself the same way as it is open to any plugin developer. It allows you to monitor important operational key figures of the core as well as custom metrics important to your business, for example messages per individual topics.
HiveMQ comes with around 100 built-in metrics and even includes fine grained percentiles for getting a clear picture of the current workload and its resource consumption. Peace of mind for your operation team is now guaranteed. To get you started quickly, we prepared some off-the-shelf metrics plugins.
Extended Plugin System features
The unique plugin system is one of the most outsanding features of HiveMQ, it enables to hook into almost any part of the HiveMQ core. In this major release we have added several new features for plugin developers. All our plugin services are now ready for cluster usage, enabling to gather all informations about clients, subscribing topics, etc. across cluster nodes. Another highly requested feature is passing through the IP address of a client to each callback. This enables IP based authentication/authorization or other custom logic using the clients source IP.
In order to get plugin developers started as fast as possible adapting their plugins to the new HiveMQ 3 plugin APIs, we have already updated all existing plugin and example code on our GitHub account.