Jimbo_liu 2019-05-20 10:17 采纳率: 0%
浏览 1174

Spring Boot 如何实现程序的主热备功能?

目前项目有一个需求,就是程序实现双机热备。
客户方已购买了双机热备软件,但是软件只能实现热备。
但是程序内部有许多的定时任务,都是操作数据库内的,和对第三方的TCP进行通讯的。

如果两台服务器都同时启动的情况下定时任务等会同时执行,但是实际只需要一台对外开放服务及数据处理。

目前有一个思路就是能不能暂停spring boot的启动,当程序判断到主机的IP被双机热备软件切换到该服务器时才启动该服务器的spring boot 服务。
但是没有找到一个合适的实现方式。

  • 写回答

2条回答

  • 珍妮玛•黛金 博客专家认证 2019-05-20 12:56
    关注
    //说一下我的想法
    1.主服务器上spring  boot正常启动
    2.备用服务上新建一个心跳客户端,用socket也好,用别的方式都行,和主服务器上的服务发送心跳包,例如每隔10秒发送一次
    如果心跳包没有收到,或者连接异常,就ping一下主服务器是否宕机,这种情况就在心跳客户端上用java cmd启动备用spring boot服务,此时备用服务器就变成主服务了
    然后运维人员就赶紧去维护宕机的那台服务器,等维护成功就在这台服务器上启动心跳客户端,然后往新的主服务器上发送心跳包,以此类推
    
    
    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)