我有两个服务器,服务器 A,服务器 B。作为 TCP 套接字服务器运行。
我想要主动/待机或主动/被动故障转移。
这意味着:
1:服务器A和服务器B正在运行,将所有连接路由到服务器A。
2:服务器 A 关闭,将所有连接路由到服务器 B。
3:服务器A重新启动,仍然将所有连接路由到服务器B。
4:服务器B关闭,然后将所有连接路由到服务器A。
每次只有一台服务器处理所有连接。
我搜索了很多。
看来 HAProxy 有一个技巧可以做到这一点。 防止 HAProxy 从 fallback 切换回 master
但它有一个问题,在情况4中,当服务器B关闭时,服务器A正在运行,HAPRoxy仍然不会将连接路由到服务器A。
有办法解决这个问题吗?
我也尝试过 Nginx,但是根本不起作用。
监听 sql-cluster 0.0.0.0:1433 均衡轮询服务器 sql01 192.168.100.109:1433 检查备份服务器 sql02 192.168.100.180:1433 检查间隔 5s 下降 3 上升 99999999
答案1
尝试使用 Keepalived。
vrrp_instance v_http { smtp_警报 州主 不抢占 接口 eth0 虚拟路由器 ID 51 广告 1 优先级 101 单播源 IP 1.2.3.4 单播对等体 { 1.2.3.5 } 验证 { 身份验证类型 AH auth_pass 我的密码 } 虚拟 IP 地址 { xxxx #虚拟ip地址 } track_script { chk_http_port } }