L5负载均衡

L5负载均衡组件的功能职责

L5的功能特征如下:

  • 名字服务:以SID(由模块ID和命令字ID组成)为关键字,通过SID取得真正的IP和端口地址,使得IP和端口配置对调用者透明,运维变更配置更方便;
  • 负载均衡:以请求成功率和请求延时这两个关键指标进行动态权重计算,动态均衡各个被调服务器的负载,达到较好的整体服务质量;
  • 故障容错:迅速自动屏蔽错误率高或有故障的机器,并进行适时探测,待故障恢复后自动恢复;
  • 过载保护:实现对单台机器或者整个模块机器的过载保护能力,防止雪崩现象。

另外,为了提高性能和避免单点,一般都有本地agent作为缓存。

主要核心算法:

  1. 负载均衡算法: 以请求成功率和请求延时构成的动态权重,结合预先配置的静态权重,最后构成了被调节点的调度权重,然后以周期性建立的分配模型分配给各个主调节点;另外还需要考虑机器伸缩的时候,负载的变化需要平滑过度的问题。
  2. 门限收缩算法: 考虑到系统运行是一个动态过程,任何静态的最大阀值最小阀值限制都是不科学的,所以需要根据延时和成功率情况对阀值进行动态伸缩,这样才能更好的契合业务的需要。
  3. 宕机探测算法: 由于机器临时性故障难免,通过成功率的逐渐下降可以预知宕机风险,并及时排除;另外需要以极低的代价,及时探测被点节点,并自动恢复负载。

参考文章

  1. Why DNS Based Global Server Load Balancing (GSLB) Doesn’t Work 关于GSLB和DNS非常详尽的资料,虽然有点老,但是并没有过时。
  2. Why DNS Based GSLB Doesn't Work, Part II
  3. CDN的四大关键技术 CDN与GSLB有很大关系。
原文地址:https://www.cnblogs.com/ExMan/p/10480202.html