vernemq

A distributed MQTT message broker based on Erlang/OTP

Github星跟蹤圖

VerneMQ: A Distributed MQTT Broker

Build Status
Docker Pulls
Slack Invite

VerneMQ Logo

VerneMQ is a high-performance, distributed MQTT message 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.

VerneMQ is an Apache2 licensed distributed MQTT broker,
developed in Erlang.

MQTT used to stand for MQ Telemetry Transport, but it no longer is an
acronym. It is an extremely simple and lightweight publish/subscribe messaging
protocol, that was invented at IBM and Arcom (now Eurotech) to connect
restricted devices in low bandwidth, high-latency or unreliable networks.

VerneMQ implements the MQTT 3.1, 3.1.1 and 5.0 specifications. Currently the
following features are implemented and delivered as part of VerneMQ:

  • QoS 0, QoS 1, QoS 2
  • Basic Authentication and Authorization
  • Bridge Support
  • $SYS Tree for monitoring and reporting
  • TLS (SSL) Encryption
  • Websockets Support
  • Cluster Support
  • Logging (Console, Files, Syslog)
  • Reporting to Graphite
  • Extensible Plugin architecture
  • Multiple Sessions per ClientId
  • Session Balancing
  • Shared subscriptions
  • Message load regulation
  • Message load shedding (for system protection)
  • Offline Message Storage (based on LevelDB)
  • Queue can handle messages FIFO or LIFO style.
  • MongoDB auth & integration
  • Redis auth & integration
  • MySQL auth & integration
  • PostgreSQL auth & integration
  • Memcached integration
  • HTTP integration
  • HTTP Webhooks
  • PROXY Protocol v2
  • Administration HTTP API (BETA)
  • Real-time MQTT session tracing
  • Full multitenancy
  • Cluster status web page

The following features are also applies to MQTT 5.0 clients:

  • Enhanced authentication schemes (AUTH)
  • Message expiration
  • Last Will and Testament delay
  • Shared subscriptions
  • Request/response flow
  • Topic aliases
  • Flow control
  • Subscription flags (Retain as Published, No Local, Retain Handling)
  • Subscriber identifiers
  • All property types are supported: user properties, reason strings, content types etc.

Commercial Support. Binary Packages. Documentation

Below you'll find a basic introduction to building and starting VerneMQ. For
more information about the binary package installation, configuration, and
administration of VerneMQ, please visit our documentation at VerneMQ
Documentation
or checkout the product page
VerneMQ if you require more information on the available
commercial support options.

Community Release Schedule

Next major release: not yet scheduled.

Minor releases: At the end of March, July and November (every 4th month).

Bugfix releases: Usually a bugfix release is released between minor releases or
if there's an urgent bugfix pending.

Custom release cycles and releases are available for commercial users.

Quick Start

This section assumes that you have a copy of the VerneMQ source tree. To get
started, you need to first build VerneMQ.

Building VerneMQ

Note: VerneMQ requires Erlang/OTP 21.2 or newer.

Assuming you have a working Erlang installation, building VerneMQ should be as
simple as:

$ cd $VERNEMQ
$ make rel

Starting VerneMQ

Once you've successfully built VerneMQ, you can start the server with the following
commands:

$ cd $VERNEMQ/_build/default/rel/vernemq
$ bin/vernemq start

If VerneMQ is running it is possible to check the status on
http://localhost:8888/status and it should look something like:

Note that the $VERNEMQ/_build/default/rel/vernemq directory is a complete,
self-contained instance of VerneMQ and Erlang. It is strongly suggested that you
move this directory outside the source tree if you plan to run a production
instance.

主要指標

概覽
名稱與所有者vernemq/vernemq
主編程語言Erlang
編程語言Makefile (語言數: 9)
平台
許可證Apache License 2.0
所有者活动
創建於2015-05-27 07:29:57
推送於2025-04-21 19:35:42
最后一次提交
發布數74
最新版本名稱2.1.0 (發布於 )
第一版名稱0.9.4 (發布於 )
用户参与
星數3.3k
關注者數99
派生數398
提交數2.6k
已啟用問題?
問題數1489
打開的問題數132
拉請求數731
打開的拉請求數8
關閉的拉請求數85
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?