如何使用java搭建一款高性能的Mqtt集群broker!

main方式启动
引入依赖

io.github.quickmsg smqtt-core 1.0.4

阻塞式启动服务:

Bootstrap.builder()
.port(8555)
.websocketPort(8999)
.options(channelOptionMap -> {})
.ssl(false)
.reactivePasswordAuth((U,P)->true)
.sslContext(new SslContext(“crt”,“key”))
.isWebsocket(true)
.wiretap(false)
.httpOptions(Bootstrap.HttpOptions.builder().ssl(false).httpPort(62212).accessLog(true).build())
.build()
.startAwait();

非阻塞式启动服务:

Bootstrap bootstrap =
Bootstrap.builder()
.port(8555)
.websocketPort(8999)
.options(channelOptionMap -> {})
.ssl(false)
.sslContext(new SslContext(“crt”,“key”))
.isWebsocket(true)
.wiretap(false)
.httpOptions(Bootstrap.HttpOptions.builder().ssl(false).httpPort(62212).accessLog(true).build())
.build()
.start().block();

assert bootstrap != null;
// 关闭服务
bootstrap.shutdown();

jar方式
下载源码 mvn compile package -Dmaven.test.skip=true smqtt-bootstrap -P jar
在smqtt-bootstrap/target目录下生成jar
准备配置文件 config.properties

# 开启tcp端口
smqtt.tcp.port=1883
# 高水位
smqtt.tcp.lowWaterMark=4000000
# 低水位
smqtt.tcp.highWaterMark=80000000
# 开启ssl加密
smqtt.tcp.ssl=false
# 证书crt smqtt.tcp.ssl.crt =
# 证书key smqtt.tcp.ssl.key =
# 开启日志
smqtt.tcp.wiretap=false
# boss线程
smqtt.tcp.bossThreadSize=4;
# work线程
smqtt.tcp.workThreadSize=8;
# websocket端口
smqtt.websocket.port=8999;
# websocket开启
smqtt.websocket.enable=true;
# smqtt用户
smqtt.tcp.username=smqtt;
# smqtt密码
smqtt.tcp.password=smqtt;
# 开启http
smqtt.http.enable=true;
# 开启http端口
smqtt.http.port=1999;
# 开启http日志
smqtt.http.accesslog=true;
# 开启ssl
smqtt.http.ssl.enable=false;
# smqtt.http.ssl.crt =;
# smqtt.http.ssl.key;

启动服务
java -jar smqtt-bootstrap-1.0.1-SNAPSHOT.jar <conf.properties路径>
docker 方式
拉取镜像

拉取docker镜像地址

docker pull 1ssqq1lxr/smqtt:latest
启动镜像默认配置

启动服务

docker run -it -p 1883:1883 1ssqq1lxr/smqtt
启动镜像使用自定义配置( 准备配置文件conf.properties)

启动服务

docker run -it -v <配置文件路径目录>:/conf -p 1883:1883 -p 1999:1999 1ssqq1lxr/smqtt
测试服务(启动http端口)
启动客户端订阅主题 test/+

使用http接口推送mqtt消息

推送消息

curl -H “Content-Type: application/json” -X POST -d '{“topic”: “test/teus”, “qos”:2, “retain”:true,

“message”:“我来测试保留消息3” }’ “http://localhost:1999/smqtt/publish”
USB Microphone https://www.soft-voice.com/
Wooden Speakers https://www.zeshuiplatform.com/
亚马逊测评 www.yisuping.cn
深圳网站建设www.sz886.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值