找回密码
 立即注册
首页 业界区 安全 负载均衡的概念、分类、算法、健康检查机制及高可用解决 ...

负载均衡的概念、分类、算法、健康检查机制及高可用解决方案

渭茱瀑 昨天 21:25
 负载均衡的概念、分类、算法、健康检查机制及高可用解决方案一、负载均衡的基本概念与作用张张的网站因访问量激增(从几人到1万用户)导致服务器崩溃,通过负载均衡解决。 负载均衡像交通指挥中心,通过反向代理服务器提供唯一访问入口,统一接收用户请求后按规则分配给后端多台服务器,可提高网站并发量,还能实时监测后端服务器健康状态,发现服务器故障时自动切换,保证用户访问不受影响,同时可承担SSL卸载等额外职责,减轻后端服务器负担。作用

  • 统一入口:

    • 对外提供唯一的访问入口,用户只需访问同一个城名,无需关心后端服务器数量

  • 流量分发:

    • 根据规则将请求分配给后端多台服务器,分摊压力,提高并发处理能力。

  • 健康监测:

    • 实时监测后端服务器健康状态,自动剔除故障服务器,保证服务可用性。

  • SSL卸载:

    • 统一处理 HTTPS加密解密,减轻后端服务器负担。

 二、负载均衡的实现工具反向代理服务器nginx (是7层的负载均衡)常用的如nginx等高性能网关软件支持负载均衡功能,以nginx为例,只需简单配置,将多台服务器组成集群,nginx就能自动分配收到的请求。 三、负载均衡的分类7层网络层次:
1.png
 
2.png
根据网络层次可分为多种类型。

  • 七层负载均衡(应用层),如nginx,能根据HTTP请求内容(如URL路径、cookie等)转发,灵活且成本低,适合中小型网站,但单机并发支撑能力有限(几万到十几万);
  • 四层负载均衡(传输层),依据IP地址和端口号转发,不关心HTTP请求内容,性能高(支撑几十万到上百万并发),

    • 常用实现方案是LVS(Linux Virtual Server   Linux 虚拟服务器),它通过修改网络数据包的地址信息,把请求转发到不同的服务器,速度极快,适用于大型网站;

  • DNS负载均衡(在DNS层面分配)

    • DNS负载均衡严格来说属于7层应用层,传统负载均衡是用户请求,已经到达服务器之后再分配,DNS 是在用户浏览器查询域名IP时,DNS服务器按策略返回不同IP实现流量分配
    • 优点:实现简单、成本低,适合全球流量分配,
    • 缺点:不够灵活且DNS有缓存,配置修改不能立即生效。

  • 硬件负载均衡

    • 二层、三层负载均衡及专业硬件设备(如F5负载均衡),但硬件设备价格高,多用于金融、电信等大型企业;

 四、负载均衡算法

  • 静态算法(静态算法按固定规则分配,包括)

    • 轮询算法(Round Robin)(像发扑克牌一样轮着分配请求)、
    • 加权轮询算法(Weighted Round Robin)(给性能高的服务器设更高权重,让其处理更多请求)、
    • IP哈希算法(根据用户IP计算哈希值分配服务器,保证同一用户请求到同一服务器,避免登录态丢失,但可能因多用户来自同一局域网导致流量不均,目前主流用Redis做共享session解决登录态问题);

  • 动态算法(动态算法根据服务器实时状态分配,更灵活,包括)

    • 最少连接算法(将请求分给当前连接数最少、最空闲的服务器)、
    • 最快响应算法(将请求分给响应速度最快的服务器),实际工作中多数场景用轮询或加权轮询算法即可。 

五、负载均衡的健康检查机制负载均衡器定期向后端服务器发送心跳请求,检查服务器是否正常响应,若连续多次失败,就将该服务器从服务器列表剔除,待其恢复后再自动添加回来。  六、负载均衡的高可用解决方案为避免负载均衡器自身故障影响服务,可部署多个负载均衡器,采用主从模式。主负载均衡器正常工作,从负载均衡器随时待命,二者互相发送心跳包并共享一个虚拟IP地址,当从节点发现主节点无响应时,接管虚拟IP,用户访问同一IP地址无感知。 
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册