当前位置: 首页 > news >正文

长沙建设教育网seo销售

长沙建设教育网,seo销售,现在手机网站用什么做的好,u网站建设mqtt集群搭建 RabbitMQ集群搭建和测试总结_亲测 搭建好RabbitMQ集群,并开启mqtt插件功能,mqtt集群也就搭建好了 nginx配置mqtt负载均衡 #修改rabbitmq1节点ip为1.19的nginx配置 vim /etc/nginx/nginx.confhttp { } #在http外添加如下配置 stream {upstream rabbitmqtt {ser…

mqtt集群搭建

RabbitMQ集群搭建和测试总结_亲测

搭建好RabbitMQ集群,并开启mqtt插件功能,mqtt集群也就搭建好了

nginx配置mqtt负载均衡

#修改rabbitmq1节点ip为1.19的nginx配置
vim /etc/nginx/nginx.confhttp {
}
#在http外添加如下配置
stream {upstream rabbitmqtt {server 192.168.1.17:1883;server 192.168.1.18:1883;server 192.168.1.19:1883;}server {listen       1884 so_keepalive=on;proxy_connect_timeout 60s;proxy_timeout 60s;proxy_pass rabbitmqtt;tcp_nodelay on;}
}#测试nginx配置是否正确
/usr/sbin/nginx -t#重新加载配置
/usr/sbin/nginx -s reload

mqtt集群测试

上面nginx配置的对外负载均衡代理端口是:1884

MQTTX客户端工具测试

官方下载地址: https://mqttx.app/zh

在这里插入图片描述

spring boot代码测试

spring boot集成mqtt协议发送和订阅数据

mqtt连接配置,部分代码

@Bean
public MqttConnectOptions getMqttConnectOptions(){// MQTT的连接设置MqttConnectOptions mqttConnectOptions = new MqttConnectOptions();// 设置连接的用户名mqttConnectOptions.setUserName(username);// 设置连接的密码mqttConnectOptions.setPassword(password.toCharArray());// 设置是否清空session,这里如果设置为false表示服务器会保留客户端的连接记录,// 把配置里的 cleanSession 设为false,客户端掉线后 服务器端不会清除session,// 当重连后可以接收之前订阅主题的消息。当客户端上线后会接受到它离线的这段时间的消息mqttConnectOptions.setCleanSession(true);// 注意这里*******************************************************// 设置发布端地址,多个用逗号分隔, 如:tcp://111:1883,tcp://222:1883// 当第一个111连接上后,222不会在连,如果111挂掉后,重试连111几次失败后,会自动去连接222mqttConnectOptions.setServerURIs(hostUrl.split(","));// 设置会话心跳时间 单位为秒 服务器会每隔1.5*20秒的时间向客户端发送个消息判断客户端是否在线,但这个方法并没有重连的机制mqttConnectOptions.setKeepAliveInterval(20);mqttConnectOptions.setAutomaticReconnect(true);// 设置“遗嘱”消息的话题,若客户端与服务器之间的连接意外中断,服务器将发布客户端的“遗嘱”消息。mqttConnectOptions.setWill(willTopic, willContent.getBytes(), 2, false);mqttConnectOptions.setMaxInflight(1000000);return mqttConnectOptions;
}

测试总结

普通集群测试

使用mqttx工具分别连接三台rabbitmq的1883端口,不使用nginx代理时

1 同时都订阅topic:aaa/#,任意一台发送topic:aaa/bbb的数据,三台都能收到数据

2 同时都订阅topic:bbb,任意一台发送topic:bbb的数据,一样的,三台都能收到数据

3 rabbitmqctl stop_app命令,停一台rabbitmq应用,2台同时订阅,任意一台发数据,2台都能收到数据

4 rabbitmqctl stop_app命令,停2台rabbitmq应用,另外一台,能正常使用

使用nginx负载均衡测试

使用mqttx工具

1 分别连接三台1883端口,订阅三台的topic:aaa/#,然后连接一台nginx的1884端口,订阅nginx的一台topic:aaa/#,使用nginx那台1884端口的发数据,4个都能收到数据,另外三台任一台发送,4个都能收到数据

2 rabbitmqctl stop_app命令,停一台rabbitmq应用,nginx订阅的那台,一样能收到数据,发送数据

结论: nginx会自动连接到正常的一台rabbitmq,当一台挂了之后,自动连接下一台

使用spring-mqtt代码测试,连接nginx端口:1884

代码里的配置nginx的ip和代理端口
yaml文件:
username: admin
password: beyond_2021
url: tcp://192.168.1.19:1884

1 停掉一台rabbitmq应用,会断开连接,自动连上另一台,再停掉一台rabbitmq应用,又断开连接,自动连上另一台

代码配置:
url: tcp://192.168.1.17:1883,tcp://192.168.1.18:1883,tcp://192.168.1.19:1883

1 代码默认只会连第一台17,如果第一台连不上时,重试后,会连第二台,以此类推

2 停掉第一台rabbitmq应用,会报断开连接,然后马上会自动连上第二台,以此类推

http://www.tj-hxxt.cn/news/60000.html

相关文章:

  • 社交网站怎么做网络营销软件
  • 太原网站建设公司大全模板式自助建站
  • 佛山顺德网站建设公司友情链接图片
  • 汕头制作网站软件steam交易链接在哪看
  • 蚌埠做网站多少钱北京高端网站建设
  • 网站核验单下载今日国际重大新闻事件
  • 做站用什么网站程序上海疫情最新消息
  • 网站交易平台重庆网站排名优化教程
  • 婚纱摄影网站seo方案打开百度首页
  • 如何做网站后台管理员搜索关键词排名优化服务
  • 在湖南建设人力资源网站如何做企业网页
  • 六安网站制作哪里有建立网站需要什么条件
  • 傻瓜网站开发工具seo技术优化技巧
  • 无后台网站的维护上海百度推广代理商
  • 西安网站建设公司十强自制网站 免费
  • 做3d人物模型素材下载网站seo关键词优化软件官网
  • 用qq邮箱做网站东莞关键词seo
  • 网站置顶jq网站建设与网页设计制作
  • 网站上传后 后台进不去珠海网站seo
  • 洛阳网站建设外包汽车网络营销推广方案
  • 云南昆州建设工程有限公司网站扬州百度seo公司
  • 山东高密网站建设武汉seo网站优化排名
  • 做网站具体收费网站友情链接的作用
  • 秀网站郑州网络推广代理顾问
  • 电脑系统网站建设网站seo优化方案策划书
  • 建网站制作百度指数在线查询小程序
  • 网站设计建设步骤杭州seo托管公司推荐
  • 好商网的网站可以做中英文切换吗seo免费培训教程
  • 做视频解析网站要什么服务器seo优化排名
  • 公司网站开发创业汕头网站建设方案推广