gpt4 book ai didi

networking - 分布式应用程序 - 负载均衡器是单点故障吗?

转载 作者:行者123 更新时间:2023-12-04 11:53:28 26 4
gpt4 key购买 nike

一般来说,我想了解分布式应用程序 - 负载均衡器是单点故障吗?

我不确定,但这可以是 Apache 负载均衡器,也可以是 F5 Network 中规定的设备/硬件负载均衡器。等等。

我已经看到(在论文/幻灯片上)对于同一个应用程序,设计可以有多个 apache 负载均衡器。

我与我的同事进行了讨论 - 将多个 IP 地址/虚拟机/unix 框(具有负载平衡器硬件设备)映射到相同的 DNS 域(例如 www.amazon.com) - 但是谁将负责基于什么基础/算法请求将转到哪个特定的 IP/unix 框(映射到 amazon.com/DNS)

我的问题:在请求流的开始(在第一个入口点) - 只有一台机器(它根据某种算法将请求发送到下面的负载均衡器),如果这台机器出现故障,系统会受到干扰(有多个负载均衡器)和集群等)会下降

最佳答案

对不起,如果我把它吹得不成比例。

记住单点故障 (SPOF) 的定义,如果您的 LB 失败,您的应用程序将不可用,所以简而言之,单个 LB 或反向代理是 SPOF。

为什么?,假设您只有一个 LB 并且它还能够轻松处理您可能拥有的所有流量,您还需要确保您不会出现任何硬件故障或任何其他类型的故障可能会使您的设备停机(极端情况数据中心崩溃)。

如何处理问题?

我只是在这里提到,仅仅在您的应用程序服务器前面添加层并不一定能解决您的所有问题,相反,您添加了“网络跃点”,因此在每个请求中都会产生即使是很小的时间开销。有时还会使故障排除变得更加困难,增加成本以及复杂基础架构带来的所有其他不利因素。
这就是为什么我需要一个很好的理由来让不同的 LB 排队 .

就这一点而言,我将遵循的架构(类似于您在论文中看到的架构)是您的基础设施前面的两个 LB(仅当它们难以处理您的流量时才超过两个)和 DNS 负载平衡他们。

当然,这个解决方案有缺点,DNS 与 无关。状态你的后端,所以你没有 故障转移 功能。

您可以通过使用强大的监控系统与您的 DNS 合作来解决这个问题,以实现对 DNS 的自动更改,从而实现故障转移功能。同样,您必须接受 DNS 绑定(bind)到生存时间 (TTL),并且某些客户端会在发生故障时缓存“错误”的 ip。

正如您意识到上述内容并不完美,但可能(大多数情况下)是您唯一的出路。

对于对停机时间的容忍度更低的情况(即使对于一部分客户),我会留下几个替代方案。

  • 全局负载均衡(GSLB) ,它是一项服务,像这样你会购买它。它总是在那里按照您的意愿路由流量,无论是主动-被动架构,比如主灾难或主动-主动,例如美国的一个数据中心和亚洲的另一个数据中心,它都在做艰苦的工作。当然,这个解决方案(除了会花费很多)听起来很容易实现,但请记住,为了使其正常工作您必须考虑的所有事情我不会深入技术我只会提到您将需要双硬件,必须将其配置为在您的数据中心之间独立工作,但需要在需要时完全同步。
  • 边界网关协议(protocol) (BGP) ,您将不得不使用您的 isps 来实现这一点。这里的实现可能非常复杂,它必须是自定义的,以便针对您的需求进行优化。和以前一样,您再次为双重基础设施感到头疼。但是,如果您已经找到了这个解决方案,那么您很可能会在多个地方启动并运行。

  • 综上所述,托管在云中的单个强大 LB 足以满足大多数 Web 应用程序/站点的需求。

    关于networking - 分布式应用程序 - 负载均衡器是单点故障吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40601012/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com