【发布时间】:2010-12-01 03:04:59
【问题描述】:
DNS Round Robin (DRR) 允许进行廉价的负载平衡(分布式是一个更好的术语)。它具有允许无限水平缩放的优点。缺点是,如果其中一台 Web 服务器出现故障,即使 DNS 实施故障转移,一些客户端仍会继续使用损坏的 IP 数分钟(最少 TTL 300 秒)或更长时间。
硬件负载平衡器 (HLB) 透明地处理此类 Web 服务器故障,但它不能无限扩展其带宽。还需要一个热备件。
一个好的解决方案似乎是在一组 HLB 对的前面使用 DRR。每个 HLB 对永远不会宕机,因此 DRR 永远不会让客户端宕机。另外,当带宽不够时,您可以向组中添加一个新的 HLB 对。
问题:DRR 在 HLB 对之间随机移动客户端,因此 (AFAIK) 会话粘性不起作用。
我可以避免使用会话粘性,但它可以更好地利用缓存,因此是我想要保留的东西。
问题:是否可能/存在一个 HLB 实现,其中一个实例可以与其他实例共享其 (sessionid,webserver) 映射?
如果这是可能的,那么客户端将被路由请求的 HLB 独立地路由到同一个 Web 服务器。
提前致谢。
【问题讨论】:
标签: session dns persistence load-balancing gslb