负载均衡是将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,提高可用性。在数据中心中, 负载均衡有很多应用,大概分为电能分配、数据传输、计算负荷。
电能分配是指用多个设备来完成电能供应,比如并机UPS通过LBS完成逆变器同步,然后调整整流器输出电压来微调输出电流,达到并机UPS输出电流基本相同。还有个最简单的例子就是两根电缆并接来分摊电流,那么电流的分配就和电缆的阻抗有关。要达到更高的电流容量,需要更换更大的电缆或者密集母线,但是电缆的规格是由限制的,不可能一致纵向扩展,只能横向多根电缆来组合。
数据传输是针对交换机、路由器传输设备,多个接口和线路捆绑在一起,可以以较低成本满足接口带宽的需求,实现流量负载分担。数据有多条可选路径前往同一目的网络,可以通过配置相同优先级的开销的静态路由实现负载均衡,达到数据分流、减轻单条路径负载过重的效果。负载均衡配置,笔者以前做过交换机的配置,详情下面的参考文章:
1、NSP模拟实验-浮动静态路由及负载均衡 。
2、eNSP模拟实验-EthTrunk链路聚合 。
计算负荷针对服务器集群,在客户端访问时,可用通过设置策略将大量的并发请求分担到多个处理节点。由于单个处理节点的故障不影响整个服务,负载均衡集群同时也实现了高可用性。在以往的实践中,笔者配置了两种搭建应用高可用的的例子。
1、Keepalived实现VIP。Keepalived让树莓派也可以VIP漂移 。
2、Nginx反向代理。Docker Nginx反向代理配置web负载均衡实践 。
今天结合网络资料和以前的实践,总结一下遇到的数据中心的计算负荷的负载均衡的应用。
针对这两种产品,Keepalived是使用VIP来对外提供服务,但是后端只有一个服务器来响应;Nginx按照均衡算法可以在提供高可用性的同时,可以提供负载均衡。这两个产品结合起来,使用nginx实现请求的负载均衡, keepalived实现nginx的高可用。
负载均衡可以消除单点故障并保障业务可用性的,按照腾讯云文档中心的说明:负载均衡提供四层(TCP 协议/UDP 协议/TCP SSL 协议)和七层(HTTP 协议/HTTPS 协议)负载均衡。今天笔者就来总结学习一下负载均衡的知识。
四层就是基于IP+端口(四层协议)的负载均衡,比如网络地址转换NAT。通过发布IP地址(VIP),然后加四层的端口号,来决定哪些流量需要做负载均衡,对需要处理的流量进行NAT处理,转发至后台服务器,并记录下这个TCP或者UDP的流量是由哪台服务器处理的,后续这个连接的所有流量都同样转发到同一台服务器处理。
七层就是基于URL等应用层信息的负载均衡,比如反向代理Nginx。就是在四层的基础上(没有四层是绝对不可能有七层的),再考虑应用层的特征,比如同一个Web服务器的负载均衡,除了根据VIP加80端口辨别是否需要处理的流量,还可根据七层的URL、浏览器类别、语言来决定是否要进行负载均衡。
查询资料,还有二、三层负载均衡,二层负载均衡会通过一个虚拟MAC地址接收请求,然后再分配到真实的MAC地址;三层负载均衡会通过一个虚拟IP地址接收请求,然后再分配到真实的IP地址。
以上是服务器群集的负载均衡。还有种负载均衡:DNS解析负载均衡。笔者知道的,在腾讯云DNS 解析 DNSPod,为解析的负载设置权重来完成负载均衡。
网友评论