有人可以向我解释一下高可用性(“HA”)对Web应用程序的作用......因为我认为HA意味着没有单点故障。
但是,即使使用负载均衡器 - 不是单点故障吗?
答案 0 :(得分:15)
我发现这篇文章的主题是: http://www.tenereillo.com/GSLBPageOfShame.htm
基本上,如果您不需要持久的粘性会话,您可以配置DNS服务器以返回您网站的多个A记录(IP地址)。
Web浏览器非常智能,可以尝试所有地址,直到找到有效的地址。
答案 1 :(得分:8)
简单来说,即使存在硬件和软件故障,也可以将高可用性定义为24 * 7运行系统而无需停机。另一种方式是容错应用程序。这有助于确保为目标用户不间断地使用应用程序。
答案 2 :(得分:1)
HA架构是一个完整的领域,并且在其上写了多本书,因此很难用简短的段落来回答。
总结理想情况,您将使用多个服务器,互连到多个负载均衡器层。节点和LB将位于几个不同的数据中心,并连接到不同的网络骨干网。理想情况下,数据中心将遍布全球。
简而言之,所有组件都将具有冗余,包括负载平衡器。
有关起点,请参阅维基百科High Availability Cluster
答案 3 :(得分:1)
当然是单独操作时。通常的高可用设置包括以主动/主动或主动/被动配置在集群中运行的 2 个或更多负载均衡器。为了进一步提高可用性,您可以让 2 个不同的 Internet 服务提供商(或地理分布式数据中心)运行一对集群负载均衡器。然后配置解析为 2 个不同公共 IP 地址的 DNS A 记录,以保证循环处理平均拆分 DNS 请求(CloudFlare 在这方面非常快速和可靠)。还可以使用 PowerDNS dnsdist 之类的东西返回最接近原始地理位置的数据中心的 IP 地址 这就是大型企业为提高其服务的可用性所做的工作。
请阅读 https://docs.oracle.com/cd/E23824_01/html/821-1453/gkkky.html 以获得更清晰的信息。实际上,两个负载均衡器都使用相同的 vip(虚拟 IP 地址。https://techterms.com/definition/vip)。
答案 4 :(得分:0)
它使用以下方式设置两个带有心跳的HA代理服务器,因此当一个失败时(停止响应查询),它将从群集中删除。 来自HA Proxy的请求可以循环方式转发到Web服务器,如果一个Web服务器出现故障,HA代理服务器在它处于活动状态之前不会尝试联系它。 Web服务器将所有动态信息存储在数据库中,该数据库跨两个MySQL实例进行复制。 正如您所看到的,HA Proxy和Cluster MySQL(或简称MySQL复制)以及IP群集是关键。