FluxMQ-2.0.8版本发布

FluxMQ—2.0.8版本更新内容

前言

FLuxMQ是一款基于java开发,支持无限设备连接的云原生分布式物联网接入平台。FluxMQ基于Netty开发,底层采用Reactor3反应堆模型,具备低延迟,高吞吐量,千万、亿级别设备连接;方便企业快速构建其物联网平台与应用。

FluxMQ官网:https://www.fluxmq.com

FluxMQ演示系统:http://demo.fluxmq.com/

新增指令消费

在之前版本指令下发途径有两种:

  1. MQTT客户端连接,通过发布订阅方式去发送数据
  2. HTTP接口进行指令下发

在2.0.8版本中,我们新增了多种MQ集成方式,通过配置MQ的主题映射MQTT的主题完成对应指令的下发,方便业务快速集成指令下发,同时我们支持Nacos配置中心,可以方便在SpringCloud-Alibaba项目中直接使用Feign进行服务调用,完成微服务生态的全面融合,而无需开发任何代码。

MQ的集成

目前我们支持Kafka、RocketMQ,RabbitMQ,Pulsar直接集成消费。下面我们以Kafka配置详解如何使用

可以配置从Kafka获取数据的编码,默认使用String的Decoder进行获取数据,可以配置轮询的线程以及周期。数据源的配置就是Kafka的Properties原生配置

可以配置Kafka Topic映射到Mqtt Topic,以及使用的Qos级别以及是否保留消息

Nacos注册中心

如图注册服务后,在SpringCloud可以使用Feign Client进行服务调用。默认我们注册的是 POST /public/mqtt/publish的请求

@FeignClient("fluxmq")//服务名称
public interface MqttPulishService {
    @PostMapping("/public/mqtt/publish")
    void send(@RequestBody PublishBody body);
}

@Data
public class PublishBody {
    private String topic;
    private int qos;
    private boolean retain;
    private DataType dataType;
    private Object message;
}

public enum DataType {
    JSON,
    STRING,
    HEX
}

License授权

在2.0.8中,我们新增了标准的License授权,默认我们提供了一个免费永久的License在安装包中(连接数100),方便小客户免费接入使用,也可以用FluxMQ来进行功能测试。

License集成

默认读取启动目录的 License.base64文件

当然也可以在config.yaml进行license文件指定

license: /soft/icense.base64

指定读取license的文件路径。读取启动目录的/soft/license.base64文件

服务启动成功后登录管理平台可以查看到License的信息:

Pool配置改动

修改FluxMQ流量控制配置,最新配置如下

pool:
  bossThreadSize: 1  # boss线程 默认=cpu核心数
  workThreadSize: 10  # work线程 默认=cpu核心数+2
  eventThreadSize: 16  # 业务线程数 默认=cpu核心数
  bufferSize: 512  #  ringBuffer大小
  eventMessageSize: 500000 # 最大缓冲消息数
  lowWaterMark:  32768
  highWaterMark:  65536
  globalReadSize: 102400 # 全局读字节数/s 默认不限制
  globalWriteSize: 102400 #   全局写字节数/s 默认不限制
  channelReadSize: 1024 #  单连接读字节数/s 默认不限制
  channelWriteSize: 1024 #  单连接写字节数/s 默认不限制

下面的配置理论上是最优配置,不需要额外设置。

参数名 描述 默认值
bossThreadSize netty的bossThreadSize,一般配置1~4 cpu即可 必填项
workThreadSize netty的workThreadSize,处理io事件 默认cpu
eventThreadSize MQTT事件消费线程,主要处理规则引擎等耗时操作, 默认cpu+2
bufferSize MQTT事件消费RIngBufer大小 默认1024
eventMessageSize 全局读写限制:每秒字节数 默认50000
globalReadSize 全局读限制:每秒字节数读 不推荐配置
globalWriteSize 全局写限制:每秒字节数读 不推荐配置
channelReadSize 单个连接读限制:每秒字节数读 不推荐配置
channelWriteSize 单个连接写限制:每秒字节数 不推荐配置
lowWaterMark 默认 32768 不推荐配置
highWaterMark 当写入缓存字节数达到此值,默认 65536 不推荐配置

FluxMQ免费推广

FluxMQ默认提供免费的接入License许可,直接参考我们文档下载即可。

posted on 2023-10-17 20:23  coding途中  阅读(170)  评论(0编辑  收藏  举报

导航