Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
mica
mica-mqtt
提交
a06927ad
mica-mqtt
项目概览
mica
/
mica-mqtt
通知
71
Star
1
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
mica-mqtt
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
a06927ad
编写于
6月 28, 2022
作者:
浅梦2013
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
📝
统一更新文档。
上级
e733ac0b
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
38 addition
and
76 deletion
+38
-76
example/mica-mqtt-client-spring-boot-example/src/main/resources/application-client.yml
...ng-boot-example/src/main/resources/application-client.yml
+1
-0
example/mica-mqtt-server-spring-boot-example/src/main/resources/application-server.yml
...ng-boot-example/src/main/resources/application-server.yml
+7
-3
starter/mica-mqtt-client-spring-boot-starter/README.md
starter/mica-mqtt-client-spring-boot-starter/README.md
+13
-36
starter/mica-mqtt-server-spring-boot-starter/README.md
starter/mica-mqtt-server-spring-boot-starter/README.md
+17
-37
未找到文件。
example/mica-mqtt-client-spring-boot-example/src/main/resources/application-client.yml
浏览文件 @
a06927ad
...
...
@@ -18,4 +18,5 @@ mqtt:
buffer-allocator
:
heap
# 堆内存和堆外内存,默认:堆内存
keep-alive-secs
:
60
# keep-alive 时间,单位:秒
clean-session
:
true
# mqtt clean session,默认:true
use-ssl
:
false
# 是否启用 ssl,默认:false
topic1
:
/test2/#
example/mica-mqtt-server-spring-boot-example/src/main/resources/application-server.yml
浏览文件 @
a06927ad
...
...
@@ -3,18 +3,22 @@ server:
mqtt
:
server
:
enabled
:
true
# 是否开启服务端,默认:true
# ip: 0.0.0.0
# 服务端 ip 默认为空,0.0.0.0,建议不要设置
# ip: 0.0.0.0 # 服务端 ip 默认为空,0.0.0.0,建议不要设置
port
:
1883
# 端口,默认:1883
name
:
Mica-Mqtt-Server
# 名称,默认:Mica-Mqtt-Server
buffer-allocator
:
HEAP
# 堆内存和堆外内存,默认:堆内存
heartbeat-timeout
:
120000
# 心跳超时,单位毫秒,默认: 1000 * 120
read-buffer-size
:
8KB
# 接收数据的 buffer size,默认:8k
max-bytes-in-message
:
10MB
# 消息解析最大 bytes 长度,默认:10M
auth
:
enable
:
false
# 是否开启 mqtt 认证
username
:
mica
# mqtt 认证用户名
password
:
mica
# mqtt 认证密码
debug
:
true
# 如果开启 prometheus 指标收集建议关闭
web-port
:
8083
# http、websocket 端口,默认:8083
websocket-enable
:
true
# 是否开启 websocket,默认: true
http-enable
:
false
# 是否开启 http api,默认: false
http-basic-auth
:
enable
:
false
# 是否开启 http basic auth,默认: false
username
:
"
mica"
# http basic auth 用户名
password
:
"
mica"
# http basic auth 密码
username
:
mica
# http basic auth 用户名
password
:
mica
# http basic auth 密码
starter/mica-mqtt-client-spring-boot-starter/README.md
浏览文件 @
a06927ad
...
...
@@ -12,59 +12,36 @@
## 二、mqtt 客户端(使用到的场景有限,非必要请不要启用)
### 2.1 配置项
| 配置项 | 默认值 | 说明 |
| ----- |------------------| ------ |
| mqtt.client.enabled | false | 是否启用,默认:false |
| mqtt.client.ip | 127.0.0.1 | 服务端 ip,默认:127.0.0.1 |
| mqtt.client.port | 1883 | 端口,默认:1883 |
| mqtt.client.name | Mica-Mqtt-Client | 名称,默认:Mica-Mqtt-Client |
| mqtt.client.user-name | | 用户名 |
| mqtt.client.password | | 密码 |
| mqtt.client.client-id | | 客户端ID,非常重要, 默认为:MICA-MQTT- 前缀和 36进制的纳秒数 |
| mqtt.client.clean-session | true | 清除会话
<p>
false 表示如果订阅的客户机断线了,那么要保存其要推送的消息,如果其重新连接时,则将这些消息推送。 true 表示消除,表示客户机是第一次连接,消息所以以前的连接信息。
</p>
|
| mqtt.client.buffer-allocator | 堆内存 | ByteBuffer Allocator,支持堆内存和堆外内存,默认为:堆内存 |
| mqtt.client.read-buffer-size | 8KB | t-io 每次消息读取长度,超过这个长度的消息会多次读取,默认:8KB |
| mqtt.client.max-bytes-in-message | 10MB | 消息解析最大 bytes 长度,默认:10MB |
| mqtt.client.max-client-id-length | 23 | mqtt 3.1 会校验此参数,其它协议版本不会 |
| mqtt.client.reconnect | true | 自动重连 |
| mqtt.client.re-interval | 5000 | 重连重试时间,单位毫秒 |
| mqtt.client.retry-count | 0 | 连续重连次数,当连续重连这么多次都失败时,不再重连。0和负数则一直重连 |
| mqtt.client.timeout | 5 | 连接超时时间,单位秒,t-io 配置,可为 null |
| mqtt.client.keep-alive-secs | 60 | Keep Alive (s) 心跳维持时间 |
| mqtt.client.version | MQTT_3_1_1 | mqtt 协议,默认:MQTT_3_1_1 |
| mqtt.client.stat-enable | false | 是否开启监控,默认:关闭 |
| mqtt.client.use-ssl | false | 是否开启 ssl ,默认:关闭 |
### 2.2 配置项示例
### 2.1 配置项示例
```
yaml
mqtt
:
client
:
enabled
:
true
# 是否开启客户端,默认:false
enabled
:
true
# 是否开启客户端,默认:false
使用到的场景有限,非必要请不要启用
ip
:
127.0.0.1
# 连接的服务端 ip ,默认:127.0.0.1
port
:
3
883
# 端口:默认:1883
port
:
1
883
# 端口:默认:1883
name
:
Mica-Mqtt-Client
# 名称,默认:Mica-Mqtt-Client
clientId
:
000001
# 客户端Id(非常重要,一般为设备 sn,不可重复)
user-name
:
mica
# 认证的用户名
password
:
123456
# 认证的密码
timeout
:
5
#
连接
超时时间,单位:秒,默认:5秒
timeout
:
5
# 超时时间,单位:秒,默认:5秒
reconnect
:
true
# 是否重连,默认:true
re-interval
:
5000
# 重连时间,默认 5000 毫秒
version
:
MQTT_5
# mqtt 协议版本,默认:3.1.1
read-buffer-size
:
132476
# t-io 每次消息读取长度,超过这个长度的消息会多次读取,默认:130
k
max-bytes-in-message
:
10
485760
# 消息解析最大 bytes 长度,默认:10M
read-buffer-size
:
8KB
# 接收数据的 buffer size,默认:8
k
max-bytes-in-message
:
10
MB
# 消息解析最大 bytes 长度,默认:10M
buffer-allocator
:
heap
# 堆内存和堆外内存,默认:堆内存
keep-alive-secs
:
60
# keep-alive
心跳维持
时间,单位:秒
keep-alive-secs
:
60
# keep-alive 时间,单位:秒
clean-session
:
true
# mqtt clean session,默认:true
use-ssl
:
false
# 是否启用 ssl,默认:false
```
### 2.
3
可实现接口(注册成 Spring Bean 即可)
### 2.
2
可实现接口(注册成 Spring Bean 即可)
| 接口 | 是否必须 | 说明 |
| --------------------------- |------| ------------------------- |
| IMqttClientConnectListener | 否 | 客户端连接成功监听 |
### 2.
7
客户端上下线监听
### 2.
3
客户端上下线监听
使用 Spring event 解耦客户端上下线监听,注意:
`1.3.4`
开始支持。会跟自定义的
`IMqttClientConnectListener`
实现冲突,取一即可。
```
java
...
...
@@ -98,7 +75,7 @@ public class MqttClientConnectListener {
}
```
### 2.
5
自定义 java 配置(可选)
### 2.
4
自定义 java 配置(可选)
```
java
@Configuration
(
proxyBeanMethods
=
false
)
...
...
@@ -118,7 +95,7 @@ public class MqttClientCustomizerConfiguration {
}
```
### 2.
6
订阅示例
### 2.
5
订阅示例
```
java
@Service
public
class
MqttClientSubscribeListener
{
...
...
@@ -137,7 +114,7 @@ public class MqttClientSubscribeListener {
}
```
### 2.
7
共享订阅 topic 说明
### 2.
6
共享订阅 topic 说明
mica-mqtt client 支持
**两种共享订阅**
方式:
1.
共享订阅:订阅前缀
`$queue/`
,多个客户端订阅了
`$queue/topic`
,发布者发布到topic,则只有一个客户端会接收到消息。
...
...
starter/mica-mqtt-server-spring-boot-starter/README.md
浏览文件 @
a06927ad
...
...
@@ -14,52 +14,32 @@
### 2.1 配置项
| 配置项 | 默认值 | 说明 |
| ----- |------------------|----------------------------------------------------------------------|
| mqtt.server.enabled | true | 是否启用,默认:true |
| mqtt.server.name | Mica-Mqtt-Server | 名称 |
| mqtt.server.port | 1883 | 端口 |
| mqtt.server.ip | 0.0.0.0 | 服务端 ip 默认为空,0.0.0.0,建议不要设置 |
| mqtt.server.buffer-allocator | 堆内存 | 堆内存和堆外内存 |
| mqtt.server.heartbeat-timeout | 1000
* 120 | 心跳超时时间(单位: 毫秒 默认: 1000 *
120) |
| mqtt.server.keepalive-backoff | 0.75F | MQTT 客户端 keepalive 系数,连接超时缺省为连接设置的 keepalive
* keepaliveBackoff *
2,不得小于 0.5 |
| mqtt.server.read-buffer-size | 8KB | 一次读取接收数据的 buffer size,超过这个长度的消息会多次读取,默认:8KB |
| mqtt.server.max-bytes-in-message | 10MB | 消息解析最大 bytes 长度,默认:10MB |
| mqtt.server.max-client-id-length | 23 | mqtt 3.1 会校验此参数,其它协议版本不会 |
| mqtt.server.debug | false | debug,如果开启 prometheus 指标收集建议关闭 |
| mqtt.server.web-port | 8083 | http、websocket 端口,默认:8083 |
| mqtt.server.websocket-enable | true | 开启 websocket 服务,默认:true |
| mqtt.server.http-enable | false | 开启 http 服务,默认:true |
| mqtt.server.http-basic-auth.enable | false | 是否启用,默认:关闭 |
| mqtt.server.http-basic-auth.password | | http Basic 认证密码 |
| mqtt.server.http-basic-auth.username | | http Basic 认证账号 |
| mqtt.server.node-name | pid@ip:port | 集群节点名 |
| mqtt.server.stat-enable | false | 是否开启监控,默认:关闭,注意如果开启 Prometheus 监控,需要设置为 true |
### 2.2 配置项示例
```
yaml
mqtt
:
server
:
enabled
:
true
# 是否开启服务端,默认:true
# ip: 0.0.0.0
# 服务端 ip 默认为空,0.0.0.0,建议不要设置
port
:
5
883
# 端口,默认:1883
# ip: 0.0.0.0 # 服务端 ip 默认为空,0.0.0.0,建议不要设置
port
:
1
883
# 端口,默认:1883
name
:
Mica-Mqtt-Server
# 名称,默认:Mica-Mqtt-Server
buffer-allocator
:
HEAP
# 堆内存和堆外内存,默认:堆内存
heartbeat-timeout
:
120000
# 心跳超时,单位毫秒,默认: 1000 * 120
read-buffer-size
:
132476
# 一次读取接收数据的 buffer size,超过这个长度的消息会多次读取,默认:132476
max-bytes-in-message
:
10485760
# 消息解析最大 bytes 长度,默认:10M
read-buffer-size
:
8KB
# 接收数据的 buffer size,默认:8k
max-bytes-in-message
:
10MB
# 消息解析最大 bytes 长度,默认:10M
auth
:
enable
:
false
# 是否开启 mqtt 认证
username
:
mica
# mqtt 认证用户名
password
:
mica
# mqtt 认证密码
debug
:
true
# 如果开启 prometheus 指标收集建议关闭
web-port
:
8083
# http、websocket 端口,默认:8083
websocket-enable
:
true
# 是否开启 websocket,默认: true
http-enable
:
false
# 是否开启 http api,默认: false
http-basic-auth
:
enable
:
false
# 是否开启 http basic auth,默认: false
username
:
"
mica"
# http basic auth 用户名
password
:
"
mica"
# http basic auth 密码
username
:
mica
# http basic auth 用户名
password
:
mica
# http basic auth 密码
```
### 2.
3
可实现接口(注册成 Spring Bean 即可)
### 2.
2
可实现接口(注册成 Spring Bean 即可)
| 接口 | 是否必须 | 说明 |
|-------------------------------|------------|-----------------------------------------------|
...
...
@@ -75,7 +55,7 @@ mqtt:
| AbstractMqttMessageDispatcher | 集群是,单机否 | 消息转发,(遗嘱、保留消息转发) |
| IpStatListener | 否 | t-io ip 状态监听 |
### 2.
4
IMqttMessageListener (用于监听客户端上传的消息) 使用示例
### 2.
3
IMqttMessageListener (用于监听客户端上传的消息) 使用示例
```
java
@Service
...
...
@@ -89,7 +69,7 @@ public class MqttServerMessageListener implements IMqttMessageListener {
}
```
### 2.
5
自定义配置(可选)
### 2.
4
自定义配置(可选)
```
java
@Configuration
(
proxyBeanMethods
=
false
)
...
...
@@ -109,7 +89,7 @@ public class MqttServerCustomizerConfiguration {
}
```
### 2.
6
MqttServerTemplate 使用示例
### 2.
5
MqttServerTemplate 使用示例
```
java
...
...
@@ -134,7 +114,7 @@ public class ServerService {
}
```
### 2.
7
客户端上下线监听
### 2.
6
客户端上下线监听
使用 Spring event 解耦客户端上下线监听,注意:
`1.3.4`
开始支持。会跟自定义的
`IMqttConnectStatusListener`
实现冲突,取一即可。
```
java
...
...
@@ -155,11 +135,11 @@ public class MqttConnectStatusListener {
}
```
### 2.
8
基于 mq 消息广播集群处理
### 2.
7
基于 mq 消息广播集群处理
详见:
[
mica-mqtt-broker
](
../../mica-mqtt-broker
)
### 2.
9
Prometheus + Grafana 监控对接
### 2.
8
Prometheus + Grafana 监控对接
```
xml
<!-- 开启 prometheus 指标收集 -->
<dependency>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录