编程 内容:1 问题已关闭

已采纳 主服务器和备用服务器如何实现自动切换?

  • 查看作者
  • 打赏作者
  • 赠送礼物
  • 目前有一个服务器程序在接收客户端上传的数据,客户端通过服务器的外网IP和端口连接,为了提高可用性,想用两个服务器各跑同样的服务器程序,一主一从。当主服务器的程序崩溃后,短时间内无法恢复时,客户端自动连接到备用服务器程序并上传数据,当主服务器的程序恢复后,再连接回主服务器程序。
    根据网上的了解,redis方案和nginx+keepalived方案能实现,请问这两者有什么区别?哪种比较合适?

      Lv.0

      可以去了解一下keepalived,这样不论你是用那个方案一主一从都有可能用的上

      他太懒了,什么都没有写

    • @ 木桶: 请问nginx+keepalived的虚拟IP是否需要重新配置客户端的连接服务器的IP和端口?
      1个月前 (08-17) 回复
    • @ 趣味小陶: 虚IP可以理解为宿主机同一网段的一个自定义IP
      假设你有两台服务器A/B;
      A服务器IP:192.16.8.22
      B服务器IP:192.16.8.23
      那你的虚IP可以配置成:192.16.8.(注意不要和其他已经存在的IP冲突)
      你的客户端连接的就是虚IP192.16.8. 这样对于客户端来说你的主从节点的变化是无感知的
      虚IP192.16.8.n(星号没显示改成n了,代表0~255,但是不要使用已经存在的比如你的A/B)
      keepalived需要配置服务IP和端口,用来监听服务是否正常,如果不正常就会触发虚IP漂移
      1个月前 (08-17) 回复
    • @ 木桶: 那这个方案对于目前已经在运行的程序来说不适用,因为已经分发出去的客户端的连接IP已经填写了主服器的IP,无法更改成虚IP
      1个月前 (08-17) 回复
    • @ 趣味小陶: 至于nginx看你的具体服务类型考虑使用或不使用,你可以在服务器上使用nginx代理已经运行的程序IP和端口,进行服务转发,转发到虚IP上就好了
      1个月前 (08-17) 回复
    • @ 木桶: 好的,谢谢。
      1个月前 (08-17) 回复

    请登录之后再进行评论

    登录