发布日期: 2017-05-05
EMQ 2.2-beta.1版本正式发布!2.2 版本主要新功能包括:
一个EMQ节点支持配置多个MQTT协议监听端口,例如下述配置external, internal监听器,分别用于设备连接与内部通
信:
-------
-- External TCP 1883 --> | |
| EMQ | -- Internal TCP 2883 --> Service
-- External SSL 8883--> | |
-------
EMQ 2.2 版本etc/emq.conf监听器配置方式:
listener.tcp.${name}= 127.0.0.1:2883
listener.tcp.${name}.acceptors = 16
listener.tcp.${name}.max_clients = 102400
EMQ 集群通常部署在负载均衡器(LB)后面,典型架构:
-----
| |
| L | --TCP 1883--> EMQ
--SSL 8883--> | | |
| B | --TCP 1883--> EMQ
| |
-----
HAProxy、NGINX等常用的负载均衡器(LB),一般通过Proxy Protocol协议传递TCP连接源地址、源端口给EMQ。
EMQ 2.2 版本监听器开启Proxy Protocol支持:
## Proxy Protocol V1/2
## listener.tcp.${name}.proxy_protocol = on
## listener.tcp.${name}.proxy_protocol_timeout = 3s
新增WebHook插件: emq-web-hook,支持在MQTT客户端上下线、消息发布订阅时触发WebHook回调。
新增Lua Hook插件: emq-lua-hook ,支持Lua脚本注册EMQ扩展钩子来开发插件。
EMQ 2.2 版本改进认证链设计,当前认证模块返回ignore(例如用户名不存在等情况下),认证请求将继续转发后面认证模块:
------------- ------------ -------------
Client --> | Redis认证 | -ignore-> | HTTP认证 | -ignore-> | MySQL认证 |
------------- ------------ -------------
| | |
\|/ \|/ \|/
allow | deny allow | deny allow | deny
EMQ 2.2 版本支持bcrypt密码Hash方式,例如Redis认证插件配置:
auth.redis.password_hash = bcrypt
'mqtt.queue.' 配置变更为 'mqtt.mqueue.'
WebSocket页面支持Unsubscribe