EMQ 2.1.0-beta.1 发布, 百万级 MQTT 消息服务器

emqtt
 emqtt
发布于 2017年02月24日
收藏 31

EMQ v2.1.0-beta.1 版本正式发布。

改进Session/Inflight窗口设计,一个定时器负责全部Inflight QoS1/2消息重传。优化MQTT连接的GC机制,降低高消息吞吐情况下的CPU/内存占用。

EMQ 2.1.0版本正式采用'Semantic Versioning 2.0.0' 规范创建发布版本号,按'Tick-Tock'方式按月发布迭代版本。奇数版本问题修复与性能改进,偶数版本架构改进和新功能布。

注: EMQ 2.1+ 依赖Erlang/OTP R19+源码编译

GC优化

1. WebSocket、Client、Session进程空置一段时间后自动Hibernate与GC。

2. 新增'mqtt.conn.force_gc_count'配置,Client、Session进程处理一定数量消息后强制GC。

3. 大幅降低WebSocket、Client、Session进程fullsweep_after设置,强制进程深度GC。

新增功能

单Client、Session进程统计

支持对单个Client、Session进程进行统计,etc/emq.conf配置文件中设置'enable_stats'开启:

mqtt.client.enable_stats = on

mqtt.session.enable_stats = on

新增'missed'统计指标

EMQ收到客户端PUBACK、PUBREC、PUBREL、PUBCOMP报文,但在Inflight窗口无法找到对应消息时,计入missed统计指标:

packets/puback/missed

packets/pubrec/missed

packets/pubrel/missed

packets/pubcomp/missed

Syslog集成

支持输出EMQ日志到Syslog,etc/emq.config配置项:

## Syslog. Enum: on, off
log.syslog = on

##  syslog level. Enum: debug, info, notice, warning, error, critical, alert, emergency
log.syslog.level = error

Upgrade QoS支持

支持根据订阅升级QoS,etc/emq.conf配置项:

mqtt.session.upgrade_qos = on

新增'acl reload'命令行

Reload acl.conf without restarting emqttd service (#885)

项目改进

etc/emq.conf 配置项变更

1. 变更 mqtt.client_idle_timeout 为 mqtt.client.idle_timeout
2. 新增 mqtt.client.enable_stats 配置项
3. 新增 mqtt.session.upgrade_qos 配置项
4. 删除 mqtt.session.collect_interval 配置项
5. 新增 mqtt.session.enable_stats 配置项
6. 变更 mqtt.session.expired_after 为 mqtt.session.expiry_interval

Hooks API

Hooks模块支持'tag'方式重复注册相同的回调函数。

合并扩展模块到emq_modules项目

合并emq_mod_presence, emq_mod_subscription, emq_mod_rewrite到emq_modules项目

变更emq_mod_retainer为emq_retainer项目

插件升级

Dashboard插件

Overview页面增加missed相关统计指标。
Client页面增加SendMsg、RecvMsg统计指标。
Session页面增加DeliverMsg、EnqueueMsg指标。

recon插件

变更recon.gc_interval配置项类型为duration

reloader插件

变更reloader.interval配置项类型为duration

HTTP认证插件

修复superuser认证导致ACL不可用问题。

下载地址:

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:EMQ 2.1.0-beta.1 发布, 百万级 MQTT 消息服务器
加载中

最新评论(4

狗操_我今年大三它妈
狗操_我今年大三它妈
我用它加一个Django后台,模仿阿里云套件的服务.
grath
grath
RabbitMQ 有插件支持MQTT协议 可以都了解下
water6000
water6000
这货怎么用?
返回顶部
顶部