您的位置:首页 > 编程语言 > Qt开发

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

2017-01-11 18:18 357 查看
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 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)和路由表(R
9aea
outing Table)发布订阅模式在集群节点间转发路由MQTT消息



五分钟下载启动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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息