In this post we'd like to highlight some of the new features and improvements we implemented in VerneMQ 1.7 which we released last week.
We now ship the
vmq_swc (Server-Wide Clocks) metadata plugin with VerneMQ by default.
vmq_swc is the next generation metadata replication and will eventually be the default and replace the Plumtree
vmq_plumtree replication mechanism. To use Server-Wide Clocks instead of Plumtree set
metadata_plugin = vmq_swc in
vernemq.conf. The Server-Wide Clocks metadata plugin is still in Beta. To read more about the new replication method and the rationale behind it (performance and distributed deletes) see Taking VerneMQ replication to the next level.
It is now possible to inspect the retained message store in VerneMQ by using the new
vmq-admin retain show command. Being able to inspect the retained messages has been an often requested feature, so we're happy to finally provide it.
To make it easier to know the state of the VerneMQ cluster a dedicated HTTP health-check endpoint was added under
/health which returns 200 when VerneMQ is accepting connections and joined the cluster (for clustered setups) or returns 503 in case any of the two conditions are not met.
On the developer API side it is now possible to reauthorize existing client subscriptions by reapplying current
auth_on_subscribe_m5 hooks. This feature is exposed as a developer API in
vernemq_dev and in the command line via the
vmq-admin session reauthorize CLI command.
On the operations side we have reimplemented offline queue migrations during planned cluster leave and is now much faster. Migrating offline queues away from the leaving node is important to ensure that message for offline clients are available when the client establishes a new session the cluster.
Besides the above mentioned features the 1.7.0 release contains lots and lots of other improvements and bug fixes. See the changelog for more information.
Thanks to our customers and the community for giving us precious feedback, opening issues and contributing pull requests!
The VerneMQ Team