概述
VerneMQ可用于工业物联网领域。在工业物联网应用中,设备数量众多、数据实时性要求高,对消息传输中间件的可靠性和性能要求也很高。VerneMQ作为一个分布式、高可用、低延迟的MQTT Broker,可以很好地满足这些需求。
在工业物联网应用中,VerneMQ可以用于设备之间的实时监控和通信,比如通过MQTT协议将各类传感器数据上传至云端,并实时进行数据分析和处理。此外,VerneMQ还能够支持高并发的设备接入和消息传输,为工业物联网应用提供了稳定、可靠的消息传输中间件。
VerneMQ具备良好的可扩展性、高可用性和低延迟等特点,能够满足工业物联网领域对于消息传输中间件的苛刻要求。
VerneMQ的应用场景
- 物联网数据采集:VerneMQ可作为MQTT协议的消息中间件,用于物联网数据采集系统中的设备数据传输和存储。
- 实时通信:VerneMQ可用于实现实时通信功能,如在线聊天、互动游戏等。
- 智能家居:VerneMQ可用于智能家居系统中,将各个智能家居设备连接到同一个MQTT Broker,实现统一的设备管理和控制。
- 工业自动化:VerneMQ可应用于工业自动化领域,在设备之间传递控制命令和监测数据,实现机器之间的实时通信和协调。
- 能源管理:VerneMQ可用于能源管理系统中,通过MQTT协议将各类能源设备的状态数据上传至云端,实现远程监测和控制。
总之,VerneMQ可被应用于多种物联网场景中,其分布式和高可用性的特点能够满足大规模、高并发、实时性要求较高的应用需求。
VerneMQ 是一个 Apache2 许可的分布式MQTT代理,在Erlang中开发。
[hidecontent type="logged" desc="隐藏内容:登录后可查看"]
MQTT 曾经代表 MQ Telemetry Transport,但它不再是首字母缩写词。它是一种极其简单且轻量级的发布/订阅消息传递协议,由 IBM 和 Arcom(现为 Eurotech)发明,用于连接低带宽、高延迟或不可靠网络中的受限设备。
VerneMQ 实现了 MQTT 3.1、3.1.1 和 5.0 规范。目前,以下功能已作为 VerneMQ 的一部分实现和交付:
- 服务质量 0、服务质量 1、服务质量 2
- 基本认证和授权
- 桥梁支持
- 用于监视和报告的 $SYS 树
- TLS (SSL) 加密
- 网络套接字支持
- 集群支持
- 日志记录(控制台、文件、系统日志)
- 向石墨报告
- 可扩展的插件架构
- 每个 ClientId 的多个会话
- 会话平衡
- 共享订阅
- 消息负载调节
- 消息负载卸载(用于系统保护)
- 离线消息存储(基于LevelDB)
- 队列可以处理消息 FIFO 或 LIFO 风格。
- MongoDB 认证与集成
- Redis 认证与集成
- MySQL 认证与集成
- PostgreSQL 认证和集成
- CockroachDB 认证和集成
- 内存缓存集成
- HTTP 网络钩子
- 代理协议 v2
- 管理 HTTP API
- 实时 MQTT 会话跟踪
- 完全多租户
- 集群状态网页
以下特性也适用于 MQTT 5.0 客户端:
- 增强型身份验证方案 (AUTH)
- 消息过期
- 临终遗嘱延迟
- 共享订阅
- 请求/响应流程
- 主题别名
- 流量控制
- 订阅标志(保留为已发布、无本地、保留处理)
- 订户标识符
- 支持所有属性类型:用户属性、原因字符串、内容类型等。
商业支持。二进制包。文档
您将在下面找到有关构建和启动 VerneMQ 的基本介绍。有关 VerneMQ 的二进制包安装、配置和管理的更多信息,请访问我们在VerneMQ 文档中的文档,或者如果您需要有关可用商业支持选项的更多信息,请查看产品页面 VerneMQ。
社区发布时间表
下一个主要版本:尚未安排。
次要版本:在 3 月底、7 月和 11 月(每 4 个月)。
错误修复版本:通常在次要版本之间发布错误修复版本,或者如果有紧急错误修复未决。
自定义发布周期和发布可供商业用户使用。
快速开始
本节假定您拥有 VerneMQ 源代码树的副本。要开始,您需要先构建 VerneMQ。
构建 VerneMQ
注意:VerneMQ 需要 Erlang/OTP 24-25 并libsnappy-dev
安装在您的系统中。您还需要一个用于 Eleveldb 的 C 编译器。(在 Debian 上,您安装build-essential
, 例如)。
假设你有一个有效的 Erlang 安装,构建 VerneMQ 应该很简单:
启动 VerneMQ
成功构建 VerneMQ 后,您可以使用以下命令启动服务器:
$ cd $VERNEMQ/_build/default/rel/vernemq
$ bin/vernemq start
如果 VerneMQ 正在运行,则可以检查状态 http://localhost:8888/status
,它应该类似于:

请注意,该$VERNEMQ/_build/default/rel/vernemq
目录是一个完整的、独立的 VerneMQ 和 Erlang 实例。如果您计划运行生产实例,强烈建议您将此目录移到源代码树之外。
重要链接
[/hidecontent]