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’主题。
按主题树(Topic Trie)和路由表(R
9aea
outing Table)发布订阅模式在集群节点间转发路由MQTT消息
下载地址: http://emqtt.com/downloads
EMQ 2.0.6 维护版本发布。升级esockd库到v4.1.1版本,强制关闭SSL握手异常的TCP连接;更新Windows程序包,解决EMQ
Windows产品环境部署问题;修改MongoDB插件ACL访问控制配置错误。下载地址:http://emqtt.com/downloads
注解
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
相关文章推荐
- 我的mqtt协议和emqttd开源项目个人理解(11) - EMQ 一个客户链接的资源消耗
- 开源mqtt代理:mosquitto
- MQTT服务器(Broker)列表
- 当当elastic-job开源项目
- 开源分布式搜索平台ELK(Elasticsearch+Logstash+Kibana)入门学习资源索引
- 跨平台开源通讯组件elastic communication
- MQTT Mosquitto broker with SSL/TLS transport security
- 开源框架系列:.NET Enterprise CMS Framework --- RapidWebDev 基于XML配置的UI介绍
- 开源搜索引擎评估:lucene sphinx elasticsearch
- mqtt协议-broker之moqutte源码研究五之UNSUBSCRIBE与DISCONN报文处理
- erlang开源项目锦集
- ELK6.2.2(elasticsearch+logstash+kibana)开源日志分析平台搭建(三):logstash简单收集
- MQTT(使用mosquitto做broker)做Android推送部分总结
- erlang物联网开源项目emqttd下载,编译和图形化监控相关
- 开源MQTT中间件:moquette
- 开源MQTT中间件:moquette
- 新一代分布式任务调度框架:当当elastic-job开源项目的10项特性
- 我的mqtt协议和emqttd开源项目个人理解(5) - hook的使用,源码分析
- 我的mqtt协议和emqttd开源项目个人理解(7) - Qos==2是如何保证消息只收到一次的
- RabbitMQ是一个由erlang开发的基于AMQP(Advanced Message Queue )协议的开源实现。