【源创会预告】1024 程序员节(的前两天),相约开源中国办公室,我们一起聊 AI!>>>
ZhouSa.com-周飒博客 基于Java实现的分布式MQTT集群,SMQTT的升级版本!欢迎大家使用,顺便动动小手Star一下! https://gitee.com/quickmsg/smqttx
1. 修改集群互踢逻辑,采用异步方式集群节点剔除,剔除逻辑是统一ClientId只能建立唯一连接。
2. 修改多数据源由单例模式改成多实例,避免多数据源配置加载出现非线程安全问题
3. 修改服务端SSL/TLS证书加密时候未开启客户端认证导致的安全问题
快速开始
<dependency> <artifactId>smqttx-spring-boot-starter</artifactId> <groupId>io.github.quickmsg</groupId> <version>2.0.11</version> </dependency> <!--屏蔽h2版本冲突--> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>1.4.197</version> </dependency>
配置文件
application.yaml中添加配置
smqtt: logLevel: INFO # 系统日志 tcp: # tcp配置 port: 1883 # mqtt端口号 wiretap: false # 二进制日志 前提是 smqtt.logLevel = DEBUG bossThreadSize: 8 # boss线程 默认=cpu核心数 workThreadSize: 16 # work线程 默认=cpu核心数*2 businessThreadSize: 32 # 业务线程数 默认=cpu核心数*10 businessQueueSize: 100000 #业务队列 默认=100000 messageMaxSize: 4194304 # 接收消息的最大限制 默认4194304(4M) lowWaterMark: 4000000 # 不建议配置 默认 32768 highWaterMark: 80000000 # 不建议配置 默认 65536 # globalReadWriteSize: 10000000,100000000 全局读写大小限制 # channelReadWriteSize: 10000000,100000000 单个channel读写大小限制 options: SO_BACKLOG: 2000 auth: fixed: username: smqtt password: smqtt http: # http相关配置 端口固定60000 host: 127.0.0.1 accessLog: true # http访问日志 admin: # 后台管理配置 username: smqtt # 访问用户名 password: smqtt # 访问密码 ws: # websocket配置 enable: true # 开关 port: 8999 # 端口 path: /mqtt # ws 的访问path mqtt.js请设置此选项 cluster: # 集群配置 addresses: ["127.0.0.1"] meter: meterType: PROMETHEUS # INFLUXDB , PROMETHEUS
启动服务
在SpringBootApplication启动类上添加 @EnableMqttServer
,然后启动服务即可
还没有评论,来说两句吧...