端口检查-转发和故障转移

端口检查-转发和故障转移

我正在寻找简单的故障转移解决方案。如果 92 服务器发生故障,应用程序应指向 91 服务器。我可以通过编写以下命令来检查连接性。

[root@sserver shantanu]# nc -z 10.10.10.92 6379 > /dev/null; 
[root@server shantanu]# echo $?
1
[root@server shantanu]# nc -z 10.10.10.91 6379 > /dev/null; 
[root@server shantanu]# echo $?
0

我想知道是否有更好的方法可以做到这一点。我可以在 92 服务器上托管我的脚本并检查 6379 本地端口是否正常工作。如果它关闭,请将请求转发到 91 的 6379 端口。

我正在寻找任何人都能理解和管理的简单解决方案。如果没有这样的选项,请推荐用于相同目的的软件。

答案1

我建议你不要使用自制的高可用性脚本。它们不可靠,你可以忘记它们,它们不会拯救你裂脑情况。

在您的案例中,您应该使用虚拟 IP,该 IP 跨集群的两个节点移动。有很多软件可用于此目的:

  • lvs(ipvsadm);
  • 心跳;
  • pacemaker+corosync(我认为是最好的解决方案)。

答案2

或者,简单的解决方案是使用 PING。即使最复杂的故障转移也使用 ping 来检查连接性。因此,只需编写 ping 命令脚本,然后如果 ping 一个失败,它应该切换到另一个。您使用 netcat 的方法也很好,也没有问题。

相关内容