发布日期: 2016-11-24

EMQ-2.0版本正式发布!EMQ-2.0版本重构了整个项目架构并正式支持共享订阅功能:

  1. 支持共享订阅(Shared Subscription)与本地订阅(Local Subscription),解决MQTT协议负载平衡消费问题;

  2. 支持CoAP(RFC 7252)、MQTT-SN协议和网关,支持CoAP、MQTT-SN客户端与MQTT客户端互通;

  3. 重构配置文件格式与加载方式,支持用户友好的'K = V'文件格式,支持操作系统环境变量;

  4. 增加了扩展钩子和大量的认证插件,支持与大部分数据库或NoSQL的认证集成;

  5. 支持全平台编译部署,Linux/Unix/Windows以及ARM平台网关,支持Docker镜像制作。

共享订阅(Shared Subscription)

共享订阅(Shared Subscription)支持在多订阅者间采用分组负载平衡方式派发消息:

                                ---------
                                |       | --Msg1--> Subscriber1
    Publisher--Msg1,Msg2,Msg3-->|  EMQ  | --Msg2--> Subscriber2
                                |       | --Msg3--> Subscriber3
                                ---------

使用方式: 订阅者在主题(Topic)前增加'$queue'或'$share//'前缀。

本地订阅(Local Subscription)

本地订阅(Local Subscription)只在本节点创建订阅与路由表,不会在集群节点间广播全局路由,非常适合物联网数据采集应用。

使用方式: 订阅者在主题(Topic)前增加'$local/'前缀。

erlang.mk与relx

2.0版本分离 emqttd 主项目和发布项目 emq-relx, 采用 erlang.mkrelx 编译发布工具替换1.x版本使用的rebar,项目可以跨平台在Linux/Unix/Windows系统下编译。

CoAP协议支持

2.0版本支持CoAP协议(RFC7252),支持CoAP网关与MQTT客户端互通。

CoAP插件: https://github.com/emqtt/emq_coap

MQTT-SN协议支持

2.0版本支持MQTT-SN协议,支持MQTT-SN网关与MQTT客户端互通。

MQTT-SN插件: https://github.com/emqtt/emq_sn

'K = V'格式配置文件

2.0版本支持用户友好的'K = V'格式配置文件etc/emq.conf:

    node.name = emqttd@127.0.0.1

    ...

    mqtt.listener.tcp = 1883

    ...

操作系统环境变量

2.0版本支持操作系统环境变量。启动时通过环境变量设置EMQ节点名称、安全Cookie以及TCP端口号:

    EMQ_NODE_NAME=emqttd@127.0.0.1
    EMQ_NODE_COOKIE=emq_dist_cookie
    EMQ_MAX_PORTS=65536
    EMQ_TCP_PORT=1883
    EMQ_SSL_PORT=8883
    EMQ_HTTP_PORT=8083
    EMQ_HTTPS_PORT=8084

Docker镜像支持

EMQ-2.0版本支持Docker镜像制作,Dockerfile开源在: https://github.com/emqtt/emq_docker

Windows平台支持

2.0版本完整支持Windows平台的编译、发布与运行,支持Windows平台下的'emqttd_ctl'控制命令,支持在Windows节点间的集群。

问题与改进

#764: add mqtt.cache_acl option

#667: Configuring emqttd from environment variables

#722: mqtt/superuser calls two times emqtt_auth_http

#754: "-heart" option for EMQ 2.0

#741: emq_auth_redis cannot use hostname as server address

2.2-rc.1 版本发布 2.2-beta.3 版本发布 2.2-beta.2 版本发布 2.2-beta.1 版本发布 2.1.2 版本发布 2.1.1 版本发布 2.1.0 版本发布 2.1.0-rc.2 版本发布 2.1.0-beta.1 版本发布 2.1-beta 版本发布 2.0.7 版本发布 2.0.6 版本发布 2.0.5 版本发布 2.0.4 版本发布 2.0.3 版本发布 2.0.2 版本发布 2.0.1 版本发布 2.0 版本发布 2.0-rc.3 版本发布 2.0-rc.2 版本发布 2.0-beta.3 版本发布 2.0-beta.2 版本发布 2.0-beta.1 版本发布 1.1.3 版本发布 1.1.2 版本发布 1.1.1 版本发布 1.1 版本发布 1.0.2 版本发布 1.0.1 版本发布 1.0 版本发布 0.17.1-beta 版本发布 0.17.0-beta 版本发布 0.16.0-beta 版本发布 0.15.0-beta 版本发布 0.14.1-beta 版本发布 0.14.0-beta 版本发布 0.13.1-beta 版本发布 0.13.0-beta 版本发布 0.12.3-beta 版本发布 0.12.2-beta 版本发布 0.12.1-beta 版本发布 0.12.0-beta 版本发布 0.11.0-beta 版本发布 0.10.4-beta 版本发布 0.10.3-beta 版本发布 0.10.2-beta 版本发布 0.10.1-beta 版本发布 0.10.0-beta 版本发布 0.9.3-alpha 版本发布 0.9.2-alpha 版本发布 0.9.0-alpha 版本发布 0.9.1-alpha 版本发布 0.8.6-beta 版本发布 0.8.5-beta 版本发布 0.8.4-beta 版本发布 0.8.3-beta 版本发布 0.8.2-alpha 版本发布 0.8.1-alpha 版本发布 0.8.0-alpha 版本发布 0.7.1-alpha 版本发布 0.7.0-alpha 版本发布 0.6.2-alpha 版本发布 0.6.1-alpha 版本发布 0.6.0-alpha 版本发布 0.5.5-beta 版本发布 0.5.4-alpha 版本发布 0.5.3-alpha 版本发布 0.5.2-alpha 版本发布 0.5.1-alpha 版本发布 0.5.0-alpha 版本发布 0.4.0-alpha 版本发布 0.3.4-beta 版本发布 0.3.3-beta 版本发布 0.3.2-beta 版本发布 0.3.1-beta 版本发布 0.3.0-beta 版本发布 0.2.1-beta 版本发布 0.2.0 版本发布 0.1.5 版本发布 0.1.3 版本发布 0.1.4 版本发布 0.1.2 版本发布 0.1.1 版本发布 0.1.0 版本发布