Java ベースの分散 MQTT クラスター、SMQTT のアップグレード バージョン! どなたでもご利用いただけますので、ぜひあなたの小さな手を使ってスターを付けてください! 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