栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

真正理解 Load Balance

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

真正理解 Load Balance

文章目录
  • 真正理解 Load Balance
  • 目录
  • 介绍
    • 算法
    • 分类

真正理解 Load Balance

负载均衡( Load Balance,简称 LB )建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。

本专栏意在理解和探索在工作中接触到的负载均衡的使用,比如 k8s 中 service 的 lb,Haproxy;最后通过 vpp 的 lb plugin 来理解代码软件实现 lb 的过程。

目录
  1. 介绍
  2. dns,haproxy,nginx
  3. k8s service
  4. Google Maglev
  5. vpp lb plugin
介绍 算法

负载均衡算法可以分为两类:静态负载均衡算法和动态负载均衡算法。

静态负载均衡算法包括:轮询,比率,优先权

动态负载均衡算法包括: 最少连接数,最快响应速度,观察方法,预测法,动态性能分配,动态服务器补充,服务质量,服务类型,规则模式。

  • 轮询(Round Robin):顺序循环将请求一次顺序循环地连接每个服务器。当其中某个服务器发生第二到第7 层的故障,BIG-IP 就把其从顺序循环队列中拿出,不参加下一次的轮询,直到其恢复正常。
  • 比率(Ratio):给每个服务器分配一个加权值为比例,根椐这个比例,把用户的请求分配到每个服务器。当其中某个服务器发生第二到第7 层的故障,BIG-IP 就把其从服务器队列中拿出,不参加下一次的用户请求的分配, 直到其恢复正常。
  • 优先权(Priority):给所有服务器分组,给每个组定义优先权,BIG-IP 用户的请求,分配给优先级最高的服务器组(在同一组内,采用轮询或比率算法,分配用户的请求);当最高优先级中所有服务器出现故障,BIG-IP 才将请求送给次优先级的服务器组。这种方式,实际为用户提供一种热备份的方式。
  • 最少的连接方式(Least Connection):传递新的连接给那些进行最少连接处理的服务器。当其中某个服务器发生第二到第7 层的故障,BIG-IP 就把其从服务器队列中拿出,不参加下一次的用户请求的分配, 直到其恢复正常。
分类

在计算机技术的实现上,大概可以分为 二层、三层、四层、七层负载均衡,其中四层,七层较为常用。

  • 四层负载均衡
    四层负载均衡工作在OSI模型的传输层,由于在传输层,只有TCP/UDP协议,这两种协议中除了包含源IP、目标IP以外,还包含源端口号及目的端口号。四层负载均衡服务器在接受到客户端请求后,以后通过修改数据包的地址信息(IP+端口号)将流量转发到应用服务器。
  • 七层负载均衡
    七层负载均衡工作在OSI模型的应用层,应用层协议较多,常用http、radius、dns等。七层负载就可以基于这些协议来负载。这些应用层协议中会包含很多有意义的内容。比如同一个Web服务器的负载均衡,除了根据IP加端口进行负载外,还可根据七层的URL、浏览器类别、语言来决定是否要进行负载均衡。

常见的软件负载均衡技术

  • DNS 负载均衡
    在 DNS 服务器中,可以为多个不同的地址配置相同的域名,最终查询这个名字的客户机将在解析这个名字时得到其中一个地址,所以这种代理方式是通过 DNS 服务中的随机名字解析域名和 IP 来实现负载均衡
  • 基于NAT(Network Address Translation)的负载均衡技术(如Linux VirtualServer,简称LVS)
    将访问相同 VIP 的流量 NAT 成不同断点的 IP 并进行访问来实现负载均衡
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/987838.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号