现代负载均衡器具有非常高的吞吐量能力(千兆位)。因此,除非您正在运行一个 huuuuuuuuuuge 站点(例如 google),否则增加带宽并不是您需要一对新的负载平衡器的原因,尤其是因为大多数大型站点将其大部分带宽卸载到了 Akamai 等 CDN(内容交付网络)。如果您正在通过您的站点抽取千兆位无法使用 CDN 的数据并且还没有全局负载平衡策略,那么您将遇到比缓存关联更大的问题。:-)
站点倾向于添加额外的 LB 对而不是带宽限制,以便在不同的数据中心进行服务器的地理分布,以确保分布在世界各地的用户可以与离他们最近的服务器通信。
对于后一种情况,负载均衡器公司提供地理定位解决方案,该解决方案(至少直到几年前我正在关注这些东西时)基于自定义 DNS 实现,该实现查看客户端 IP 并解析到负载均衡器对与客户端“最接近”(在网络拓扑或性能方面)的虚拟 IP 地址。如今,像 Akamai 这样的 CDN 还提供全球负载平衡服务(例如http://www.akamai.com/html/technology/products/gtm.html)。Amazon 的 EC2 托管还支持托管在那里的站点的这种功能(请参阅http://aws.amazon.com/elasticloadbalancing/)。
由于用户往往不会在单个会话过程中跨大陆移动,因此假设您的配对位于不同的数据中心,您会自动获得地理负载平衡的亲和力(也称为“粘性”)。
请记住,地理位置非常困难,因为您还必须对数据进行地理位置定位,以确保您的后端跨数据中心网络不会被淹没。
如果您真的担心数据中心内的网络基础设施(路由器等)的单点故障,我怀疑F5和其他供应商也提供达到相同目的的单数据中心解决方案。但是路由器和交换机供应商拥有可能更适合解决该问题的高可用性解决方案。
Net-net,如果我是你,我不会担心多对负载均衡器。买一对,除非您有大量的资金和工程时间可以消耗,否则请与擅长保持数据中心网络正常运行的托管商合作。
也就是说,如果缓存亲和性对您的应用程序来说非常重要,以至于您正在考虑为多对负载均衡器支付大笔资金,那么可能值得考虑一些应用程序架构更改(例如使用外部缓存集群) . 像memcached (for linux) 这样的解决方案就是为这种情况设计的。微软也有一款叫做“ Velocity ”的来了。
无论如何,希望这是有用的信息 - 诚然,自从我深入参与这个领域以来已经有一段时间了(我是为大型软件供应商设计应用程序负载平衡产品的团队的一员)所以你可能想要加倍-检查我上面的假设,你可以从 F5 和其他 LB 供应商那里拉下网络。