#EMQ 2.0版本正式发布

EMQ-2.0版本正式发布!EMQ-2.0版本重构了整个项目架构并正式支持共享订阅功能:
支持共享订阅(Shared Subscription)与本地订阅(Local Subscription),解决MQTT协议负载平衡消费问题;
支持CoAP(RFC 7252)、MQTT-SN协议和网关,支持CoAP、MQTT-SN客户端与MQTT客户端互通;
重构配置文件格式与加载方式,支持用户友好的'K = V'文件格式,支持操作系统环境变量;
增加了扩展钩子和大量的认证插件,支持与大部分数据库或NoSQL的认证集成;
支持全平台编译部署,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.mk 和 relx 编译发布工具替换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 = [email protected]

    ...

    mqtt.listener.tcp = 1883

    ...
操作系统环境变量
2.0版本支持操作系统环境变量。启动时通过环境变量设置EMQ节点名称、安全Cookie以及TCP端口号:
[email protected]
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

猜你喜欢

转载自emqtt.iteye.com/blog/2342514