Clustering MQTT for high availability and scalability.

VerneMQ is open source software, extendable, and enterprise support is available.

What is VerneMQ

VerneMQ is a high-performance, distributed MQTT broker. It scales horizontally and vertically on commodity hardware to support a high number of concurrent publishers and consumers while maintaining low latency and fault tolerance. VerneMQ is the reliable message hub for your IoT platform or smart products.

The intro and getting started guide is the perfect place to learn more about VerneMQ.

What is MQTT

An open industry standard (developed by OASIS), specifying a light weight publish-subscribe messaging protocol. It is perfect for large-scale Internet of Things applications and high performance mobile messaging.

A simple and approachable introduction to the protocol and related technologies.

VerneMQ - The Big Picture

Featured Users

VerneMQ is perfect for ...

Mobile Messaging

Develop mobile messaging services with a much smaller overhead than XMPP. Open up new mobile use cases with low-latency bi-directional communication.

Connecting IoT Field Devices

Monitor and control all devices you have out there in the field. Connect them to your data centers, backend services and smartphone apps. You can trust VerneMQ to hold it all together.

Smart Infrastructure

Cities, Homes, Transportation. Mobile assets. From a small lab project to a successful industrial deployment of your solution: VerneMQ will handle your messages.

Your Use Case?

If you'd like to check if VerneMQ is suitable for your scenario, ask us anytime!

Frequently asked questions

How does VerneMQ handle over a million connections?

VerneMQ is based on Erlang OTP, the best technology currently available to build highly scalable messaging systems. This enables VerneMQ to scale horizontally and vertically by fully utilizing multicore architectures.

Do I need to know Erlang to run a VerneMQ cluster?

No! We know Erlang can look cryptic to someone accustomed to other programming languages. For this reason we provide CLI tools, integration APIs and plugins so Erlang is hidden away and you don't need to know anything about it.

Are customizations required to run VerneMQ?

No! VerneMQ comes with built-in plugins for simple file-based authentication and authorization. However, if your use case requires e.g. a database lookup for verifying client credentials a custom plugin might be needed. VerneMQ was built to be simple and easy to extend.

Do I need to know Erlang to implement a custom plugin?

Not necessarily. Most use cases can use the built-in Lua scripting engine that also comes with database drivers for Postgres, MySQL, MongoDB, Redis, and Memcached. Another approach would be to use a webhook and build your plugin in the programming language of your choice.

How does VerneMQ compare to RabbitMQ and EMQ?

All three brokers are implemented using Erlang and therefore benefit from the similar Erlang runtime characteristics. However, VerneMQ was build from the ground up to tolerate network failures and provides fine-grained control over the availability and consistency behaviour. Moreover, the underlying distributed data storage features automatic conflict resolution and recovers automatically from netsplits.

How does VerneMQ compare to HiveMQ and MessageSight?

Both are high-performance, closed source brokers running on the Java VM. Both brokers are clusterable but lack proper documentation of their failure modes during the presence of network failures.

How to support VerneMQ?

As with every software (open source as well as proprietary) you usually require assistance during evaluation, customization, and operations. Those are the areas where we offer our commercial services.

Got more questions?

Please get in touch with us!

Don't forget to subscribe to our Newsletter!