负载均衡
- 负载均衡的概念
- 负载均衡的分类
- 负载均衡的实现方式
- 负载均衡的算法
- 1.分类
- 1.1 静态负载均衡算法
- 1.2 动态负载均衡算法
- 负载均衡的实际应用
负载均衡的概念
将负载(工作任务)进行平衡,分配到多个操作单元(服务器)上进行。
负载均衡的分类
1.软/硬件负载均衡
软件负载均衡是指在服务器上基于特定的操作系统安装的附加软件。它的缺点是(1)受到操作系统的限制,软件的扩展性不好。(2)被安装在操作系统上,会消耗操作系统的资源。
硬件负载均衡是指使用独立于操作系统的硬件——负载均衡器来扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性的方式,它可以安装在服务器和外部网络之间,有的可以集成在交换机,有的用两块网络适配器集成在PC。由于独立于操作系统,所以提高了可扩展性,配置负载均衡策略。
2.本地/全局负载均衡
根据地理位置的划分分成了本地负载均衡和全局负载均衡,本地负载均衡就是针对本地范围的服务器做负载均衡,如果需要对现在的服务器做升级,不需要改变现有的网络架构等,只需要再添加一台新的服务器做备份。
全局负载均衡就是针对不同地理位置and不同网络结构的服务器做负载均衡。它主要的目的是为了提高访问速度,找到距离自己最近的服务器。
负载均衡的实现方式
1.路由模式
服务器的网关必须设置成负载均衡机的LAN口地址,且与WAN口分属不同的逻辑网络。所有返回的流量都经过负载均衡器,能均衡上下流量。
2.桥接模式
负载均衡器的WAN口和LAN口分别连接上行设备和下行服务器,不用配置LAN口地址,WAN口和LAN口是桥接状态,服务器和负载均衡器属于同一逻辑网络。
3.服务返回模式
负载均衡器的LAN口不用,WAN口与服务器在同一网络中,互联网的客户端请求服务器的虚IP(VIP),VIP对应WAN口,负载均衡器根据策略将流量分发到服务器上,服务器直接相应客户端的请求,响应客户端的是服务器自身的IP。
这种模式服务器返回的流量是不经过负载均衡的。
为啥适合高带宽大流量的?
负载均衡的算法
1.分类
根据服务器的状态信息是否予以考虑分为静态负载均衡和动态负载均衡。
静态负载均衡不考虑服务器的状态信息,以固定概率分配任务;动态负载均衡根据服务器的实时状态信息来决定任务的分配。
1.1 静态负载均衡算法
轮询法:像数数一样轮流的将任务分配给指定的服务器。
随机法:随机选择一台服务器进行任务分配,虽然达到了请求分散性的目的,缺点还是没有根据服务器的状态信息来分配,会给服务器带来负担。
1.2 动态负载均衡算法
最小连接数法:选择最小连接数的服务器来分配任务。服务器收到任务后连接数就加1,当服务器出现故障时节点权值就置为0。
缺点:最小连接法适用于各个节点处理的性能相似时,当服务器的处理性能相差很大,此时连接数并不能准确表明处理能力,连接数小而自身性能很差的服务器可能不及连接数大而自身性能极好的服务器。所以在这个时候就会导致任务无法准确的分配到剩余处理能力强的机器上。
负载均衡的实际应用
1.基于DNS的负载均衡技术
客户端请求解析服务器域名,返回的是一个随机的ip地址。即一个域名可以对应多个ip地址。
2.基于NAT的负载均衡技术
外部的地址经过NAT技术转换为内部的服务器的地址,外部网络中的计算机就与转换与之对应的内部服务器进行通信。内部访问外部也是这样。
3.反向代理负载均衡
正常的代理是一个客户端使用代理去请求多台服务器,反向代理是指多个客户端访问内部的服务器。