前言
FLuxMQ是一款基于java开发,支持无限设备连接的云原生分布式物联网接入平台。FluxMQ基于Netty开发,底层采用Reactor3反应堆模型,具备低延迟,高吞吐量,千万、亿级别设备连接;方便企业快速构建其物联网平台与应用。
FluxMQ官网:https://www.fluxmq.com FluxMQ演示系统:http://demo.fluxmq.com/
改动说明
功能 | 说明 |
---|---|
自研EventBus通信组件 | 提供大批量数据路由压缩等功能 |
分布式发布订阅匹配树 | 提供更快速度的Topic路由 |
会话消息 | 支持Web管理会话消息、数据持久化 |
保留消息 | 支持Web管理保留消息、数据持久化 |
延迟消息 | 支持Web管理延迟消息 、数据持久化 |
配置持久化 | Web配置页面配置持久化 |
规则引擎 | 新增LOG数据源,数据写入独立LOG文件 |
规则引擎 | 新增JSON函数,用户处理嵌套的JSON数据格式 |
规则引擎 | 新增协议扩展数据格式,用户统一转发第三方扩展协议 |
多协议模块 | 基于FluxMQ MQTT协议拓展多协议模块、提供同一的连接订阅管理能力 |
自研EventBus通信组件
研发背景
❝去除Ignite通信组件,采用自研集群通信,结合分布式订阅树完成性能的大幅度提升
❞
Flux1.0版本采用Ignite的message API进行数据路由,此方式主要有以下几个缺点:
-
集群间通信采用广播方式,大集群下通信性能极低
-
不支持通配符方式,无法解决通配符的路由
-
无法实现集群消费能力
-
对Ignite依赖非常重,导致出现问题排查代价很高,并且无法替换之
EventBus特性
集群通信
基于TCP组件(后面拓展UDP组播等功能),实现集群间启动相互连接,服务端实现端口占用扫描启动:默