我有 2 个具有 2 个不同主机的 CentOS Web 服务器
- 1 正在直播 (
Server A
) - 第二个将取代第一个 (
Server B
)
我们的域名目前指向Server A
在服务器之间切换的正常情况下,我们只需简单地更新域的 DNS 即可在服务器之间切换。此操作显然可能需要长达 72 小时。
当我们在 上启动一个新平台时Server B
,我想要一个应急计划,允许我在 2 个服务器之间即时切换,而不是等待 DNS 传播。我对负载均衡器之类的东西没有任何经验,但是这可以通过使用配置在 DNS 和 2 个服务器之间切换流量来帮助解决问题吗?
欢迎对这种情况提出任何建议。
编辑:重新措辞的问题和添加的示例流程图
有很多方法可以做到这一点,每种方法都有不同程度的确定性、风险和复杂性。其中一些在评论中有所提及。
如果您只需要解决网络问题,为什么不在主索引文件中进行 302 重定向,然后更改您的 A/AAAA DNS 记录?当然你还是可以先改一下 TTL,这样就不用等这么久的 DNS 记录改变了,但是 302 重定向会立即生效。
带有负载均衡器的解决方案也不错,在反向代理模式下配置例如 HAProxy 或 NginX(甚至微软的 IIS)并不难。您可以先在不同的端口(比如说端口 8080/4443)上对其进行测试,然后将其切换到端口 80/443。但在 LB 解决方案中,可能会出现短暂的服务中断,而您将更改端口,因为您必须将 Web 服务器的端口从服务器 A 上的 80/443 更改为其他端口,并将这些端口用于 LB -这取决于你的速度。
或者,如果您的两个 Web 服务器都位于防火墙后面,则可能存在 NAT 端口转发,因此您只能将目标 IP 地址从服务器 A 更改为服务器 B。