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

如何实现本地mqtt服务器和云端服务器同步?

 有时候,一个物联网项目,A客户想要本地使用,B客户想要线上使用,C客户想要本地部署,当有网环境时能线上使用。这个时候就需要本地MQTT服务和线上MQTT服务能相互自动转发。

后来经我一翻研究,其实Activemq支持配置activemq.xml来实现两个broker(mqtt服务)的转发。但是线上服务器配置activemq.xml时,需要提供一个内网固定IP,但是一般用户网络没有固定IP,这种情况下,就可以再加一个利器ngrok,可以将内网TCP或HTTP协议及端口穿透,实现反向代理。

以下是实现步骤:
1、配置本地activemq.xml(在broker节点里加)

        <networkConnectors><!-- 连接到远程服务器 --><networkConnector uri="static://(tcp://112.2.10.28:61616)" duplex="true"  name="local-to-remote"/></networkConnectors>

 说明:地址112.2.10.28.61616是线上服务器地址,注意需配置服务器防火墙,开放此端口)

2、配置线上activemq.xml

		<networkConnectors><!-- 连接到公司服务器 --><networkConnector uri="static://(tcp://0.tcp.ap.ngrok.io:13164)" duplex="true" name="remote-to-local"/></networkConnectors>

说明:tcp://0.tcp.ap.ngrok.io:13164是通过ngrok生成的外部访问地址(下文会说到获取方法),13164端口同样需要配置服务器打开此端口。

3、安装和启动ngrok,实现内网穿透

(1)申请ngrok账号

        官网: https://www.ngrok.com


(2)本地电脑安装ngrok(以下是mac os示例,其它系统可参考官方文档,很简单):

brew install ngrok

(3)配置ngrok的token(token可在用户管理中获得): 

ngrok config add-authtoken 2VsdP4736wyq5I321VdL126hqRzf_38BHTUJvd2LGdfm4cm7X

(4)启动代理

ngrok tcp 192.168.110.168:61616

(5)启动后显示以下结果表示成功,得到一个TCP协议的外网地址,当访问这个ngrok地址时,就相当于访问本地192.168.110.168中61616这个地址了。

4、 线上activemq.xml和本地activemq.xml都配置完成后,重启两个activemq服务就可以。可以直接关掉activemq客户端,或是重启activemq服务。

5、actiemq显示以下表示转发成功:

 

http://www.lqws.cn/news/165061.html

相关文章:

  • Spring @Scheduled vs XXL-JOB vs DolphinScheduler vs Airflow:任务调度框架全景对比
  • DeepSeek私有化部署的理性抉择:谁需要?谁不必?
  • 408第一季 - 408内容概述
  • 【Linux基础知识系列】第十一篇-Linux系统安全
  • 安科瑞防逆流方案落地内蒙古中高绿能光伏项目,筑牢北疆绿电安全防线
  • 企业级AI迈入黄金时代,企业该如何向AI“蝶变”?
  • 摄像机ISP处理流程
  • COMSOL学习笔记-静电场仿真
  • 【强化学习】——03 Model-Free RL之基于价值的强化学习
  • 软件测试基础知识总结
  • RMSE可以融合均值与标准差
  • [zynq] Zynq Linux 环境下 AXI BRAM 控制器驱动方法详解(代码示例)
  • Tensorrt python api 10.11.0笔记
  • 【信息系统项目管理师-选择真题】2025上半年(第一批)综合知识答案和详解
  • ResolverActivity 优先级
  • FPGA点亮ILI9488驱动的SPI+RGB接口LCD显示屏(一)
  • VBA信息获取与处理专题五第一节:利用CDO发送简单邮件
  • RK3588 RTL8211F PHY的LED灯调试
  • STM32手册上标称的18MHz GPIO翻转速度和你实际测量到的速度之间的差异是预期之内且合理的
  • Python数据类型与运算符全解析-Python数据挖掘可视化分析
  • 上传、下载功能 巧实现
  • 逻辑填空(题量最多)
  • 【AAOS】【源码分析】用户管理(三)-- 用户启动
  • 用ApiFox MCP一键生成接口文档,做接口测试
  • 监测预警系统重塑隧道安全新范式
  • 筑牢企业网管域安全防线,守护数字核心——联软网管域安全建设解决方案
  • html文字红色粗体,闪烁渐变动画效果,中英文切换版本
  • C++11 中 final 和 override 从入门到精通
  • Day45 Python打卡训练营
  • spring的webclient与vertx的webclient的比较