EMQ (Erlang/Enterprise/Elastic MQTT Broker) - 百万级开源MQTT消息服务器

EMQ (Erlang/Enterprise/Elastic MQTT Broker)是基于Erlang/OTP平台开发的开源物联网MQTT消息服务器。Erlang/OTP是出色的软实时(Soft-Realtime)、低延时(Low-Latency)、分布式(Distributed)的语言平台。MQTT是轻量的(Lightweight)、发布订阅模式(PubSub)的物联网消息协议。

注解

2.0版本开始emqttd消息服务器自正式简称为EMQ。

EMQ 项目设计目标是承载移动终端或物联网终端海量的MQTT连接,并实现在海量物联网设备间快速低延时(Low-Latency)消息路由:

1. 稳定承载大规模的MQTT客户端连接,单服务器节点支持50万到100万连接。

2. 分布式节点集群,快速低延时的消息路由,单集群支持1000万规模的路由。

3. 消息服务器内扩展,支持定制多种认证方式、高效存储消息到后端数据库。

4. 完整物联网协议支持,MQTT、MQTT-SN、CoAP、WebSocket或私有协议支持。

EMQ 2.0完整支持MQTT V3.1/V3.1.1版本协议规范,并扩展支持WebSocket、Stomp、CoAP、MQTT-SN或私有TCP协议。EMQ 2.0消息服务器支持单节点100万连接与多节点分布式集群:

TODO: 2.0-rc.1图片更新.

EMQ (Erlang/Enterprise/Elastic MQTT Broker) - 百万级开源MQTT消息服务器_第1张图片

EMQ 2.0为大规模客户端连接(C1000K+)的移动推送、移动消息、物联网、车联网、智能硬件等应用,提供一个完全开放源码、安装部署简便、企业级稳定可靠、可弹性扩展、易于定制开发的MQTT消息服务器。

物联网传感器、智能硬件、移动终端、浏览器、应用服务器与数据服务器通过异步发布订阅模式MQTT消息连接

注解

MQTT-SN、CoAP协议支持已在2.0-rc.1版本发布。

MQTT发布订阅模式简述

MQTT是发布订阅(Publish/Subscribe)模式的消息协议,与HTTP协议请求响应(Request/Response)模式不同。

MQTT发布者与订阅者之间通过”主题”(Topic)进行消息路由,主题(Topic)格式类似Unix文件路径,例如:

sensor/1/temperature

chat/room/subject

presence/user/feng

sensor/1/#

sensor/+/temperature

uber/drivers/joe/inbox

MQTT主题(Topic)支持’+’, ‘#’的通配符,’+’通配一个层级,’#’通配多个层级(必须在末尾)。

MQTT消息发布者(Publisher)只能向特定’名称主题’(不支持通配符)发布消息,订阅者(Subscriber)通过订阅’过滤主题’(支持通配符)来匹配消息。

注解

初接触MQTT协议的用户,通常会向通配符的’过滤主题’发布广播消息,MQTT协议不支持这种模式,需从订阅侧设计广播主题(Topic)。 例如Android推送,向所有广州用户,推送某类本地消息,客户端获得GIS位置后,可订阅’news/city/guangzhou’主题。

EMQ设计

基于出色的软实时、低延时、高并发、分布式的Erlang/OTP语言平台开发设计

按主题树(Topic Trie)和路由表(Routing Table)发布订阅模式在集群节点间转发路由MQTT消息

EMQ (Erlang/Enterprise/Elastic MQTT Broker) - 百万级开源MQTT消息服务器_第2张图片


五分钟下载启动EMQ

EMQ 2.0消息服务器每个版本,会发布Ubuntu、CentOS、FreeBSD、Mac OS X、Windows平台程序包与Docker镜像。

下载地址http://emqtt.com/downloads


EMQ 2.0.6 维护版本发布。升级 esockd 库到 v4.1.1 版本,强制关闭 SSL 握手异常的 TCP 连接;更新 Windows 程序包,解决 EMQ Windows 产品环境部署问题;修改 MongoDB 插件 ACL 访问控制配置错误。下载地址: http://emqtt.com/downloads











你可能感兴趣的:(EMQ)