Swa*_*aha 1 domain-name-system nginx high-availability load-balancing haproxy
我需要以这样一种方式设置我的应用程序,它使我的停机时间接近 0。我的一个数据中心在德克萨斯州,另一个在维加斯。现在,如果我在 TX 被认为是 PR 的服务器出现故障,所有流量都将转移到拉斯维加斯服务器,在我的情况下是 DR(灾难恢复)。
如果我们使用 HAProxy 或 NginX 等软件负载均衡器,使用 Keepalived(检查 DR 站点负载均衡器和 PR 站点负载均衡器之间的心跳),我们将最终设置主动-被动负载均衡以克服故障转移。在这里,我们的应用程序将处于 Active-Active 模式。
上图显示,所有传入流量都将到达负载均衡器的虚拟 IP(主动 PR 负载均衡器和被动 DR 负载均衡器,它们之间启用了心跳)。如果 PR 站点负载均衡器处于活动状态,那么它会将负载路由到 PR 站点 Portal 应用程序实例以及 DR 站点 Portal 实例(因为两个站点都处于活动状态),此时 DR 站点负载均衡器将处于空闲状态并不断监视其性能主动负载均衡器。如果 PR 站点出现故障,则 DR 站点将变为活动状态并自动指向 DR 站点 Portal 应用程序实例。
但我听说,使用 Keepalived 设置主动-被动负载平衡器的问题是,它在 LAN 中工作,但在 WAN 设置中无法工作。在我们的例子中,主动 PR 负载均衡器将在 TX,而被动 DR 负载均衡器将在维加斯。
那么,要通过故障转移设置实现 HA,我该如何使用软件负载平衡器?
你将无法做到这一点。它在同一个 LAN 中工作的原因是因为共享 IP 在两者之间浮动。您需要进行复杂的 BPG 路由并拥有自己的 IP 空间。
你试图把事情复杂化太多。最好使事情尽可能简单并快速失败,而不必担心 0 停机时间。
您应该做的是使用 DNS 服务来管理流量。您拥有来自 AWS 或来自 dyn.com 设置运行状况检查的 DNS 服务,例如 route53。所以他们总是通过健康检查来检查这两个站点,以确保它们正常运行。它将所有流量发送到主节点。一旦主节点上的运行状况检查失败,它将开始为故障转移站点提供 DNS 响应。
这也不是一件很容易的事情,因为您必须保持故障转移站点处于活动状态,直到您可以验证主站点与故障转移完全同步。
| 归档时间: |
|
| 查看次数: |
1316 次 |
| 最近记录: |