如何防止网站被盗,网易云音乐wordpress插件下载,小程序模板源代码,asp网站表格代码摘要
关于“负载均衡”的解释#xff0c;百度词条里#xff1a;负载均衡#xff0c;英文叫Load Balance#xff0c;意思就是将请求或者数据分摊到多个操作单元上进行执行#xff0c;共同完成工作任务。负载均衡#xff08;Load Balance#xff09;建立在现有网络结构之…摘要
关于“负载均衡”的解释百度词条里负载均衡英文叫Load Balance意思就是将请求或者数据分摊到多个操作单元上进行执行共同完成工作任务。负载均衡Load Balance建立在现有网络结构之上它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
负载均衡有两方面的含义
首先大量的并发访问或数据流量分担到多台节点设备上分别处理减少用户等待响应的时间其次单个重负载的运算分担到多台节点设备上做并行处理每个节点设备处理结束后将结果汇总返回给用户系统处理能力得到大幅度提高。
目前负载均衡技术大多数是用于提高诸如在Web服务器、FTP服务器和其它关键任务服务器上的Internet服务器程序的可用性和可伸缩性。总之它的目的就通过调度集群达到最佳化资源使用最大化吞吐率最小化响应时间避免单点过载的问题。
一、负载均衡分类 二、二层负载均衡 三、三层负载均衡 四、四层负载均衡 五、七层负载均衡 六、四层负载均衡和七层负载均衡的区别 七、负载均衡技术的常见具体应用方案 八、常用的负载均衡算法
常用的负载均衡算法分为两类
一种是静态负载均衡。一种是动态负载均衡。
8.1 轮询算法
将请求按顺序轮流地分配到每个节点上不关心每个节点实际的连接数和当前的系统负载。
优点简单高效易于水平扩展每个节点满足字面意义上的均衡缺点没有考虑机器的性能问题根据木桶最短木板理论集群性能瓶颈更多的会受性能差的服务器影响。8.2 随机算法
将请求随机分配到各个节点。由概率统计理论得知随着客户端调用服务端的次数增多其实际效果越来越接近于平均分配也就是轮询的结果。
优缺点和轮询相似。
8.3 Hash源地址算法
源地址哈希的思想是根据客户端的IP地址通过哈希函数计算得到一个数值用该数值对服务器节点数进行取模得到的结果便是要访问节点序号。采用源地址哈希法进行负载均衡同一IP地址的客户端当后端服务器列表不变时它每次都会落到到同一台服务器进行访问。
优点相同的IP每次落在同一个节点可以人为干预客户端请求方向例如灰度发布缺点如果某个节点出现故障会导致这个节点上的客户端无法使用无法保证高可用。当某一用户成为热点用户那么会有巨大的流量涌向这个节点导致冷热分布不均衡无法有效利用起集群的性能。所以当热点事件出现时一般会将源地址哈希法切换成轮询法。8.4 加权轮询算法
不同的后端服务器可能机器的配置和当前系统的负载并不相同因此它们的抗压能力也不相同。给配置高、负载低的机器配置更高的权重让其处理更多的请而配置低、负载高的机器给其分配较低的权重降低其系统负载加权轮询能很好地处理这一问题并将请求顺序且按照权重分配到后端。
加权轮询算法要生成一个服务器序列该序列中包含n个服务器。n是所有服务器的权重之和。在该序列中每个服务器的出现的次数等于其权重值。并且生成的序列中服务器的分布应该尽可能的均匀。比如序列{a, a, a, a, a, b, c}中前五个请求都会分配给服务器a这就是一种不均匀的分配方法更好的序列应该是{a, a, b, a, c, a, a}。
优点可以将不同机器的性能问题纳入到考量范围集群性能最优最大化缺点生产环境复杂多变服务器抗压能力也无法精确估算静态算法导致无法实时动态调整节点权重只能粗糙优化。8.5 加权随机算法
与加权轮询法一样加权随机法也根据后端机器的配置系统的负载分配不同的权重。不同的是它是按照权重随机请求后端服务器而非顺序。
8.6 键值范围算法
根据键的范围进行负债比如0到10万的用户请求走第一个节点服务器10万到20万的用户请求走第二个节点服务器……以此类推。
优点容易水平扩展随着用户量增加可以增加节点而不影响旧数据缺点容易负债不均衡比如新注册的用户活跃度高旧用户活跃度低那么压力就全在新增的服务节点上旧服务节点性能浪费。而且也容易单点故障无法满足高可用。8.7 最小连接数
根据每个节点当前的连接情况动态地选取其中当前积压连接数最少的一个节点处理当前请求尽可能地提高后端服务的利用效率将请求合理地分流到每一台服务器。俗称闲的人不能闲着大家一起动起来。
优点动态根据节点状况实时变化缺点提高了复杂度每次连接断开需要进行计数实现将连接数的倒数当权重值。
8.8 快速响应算法
根据请求的响应时间来动态调整每个节点的权重将响应速度快的服务节点分配更多的请求响应速度慢的服务节点分配更少的请求俗称能者多劳扶贫救弱。
优点动态实时变化控制的粒度更细跟灵敏缺点复杂度更高每次需要计算请求的响应速度实现可以根据响应时间进行打分计算权重。
8.9 观察者模式算法
观察者模式是综合了最小连接数和最快响应度同时考量这两个指标数进行一个权重的分配。
博文参考
《网络编程懒人入门(一)快速理解网络通信协议上篇》《网络编程懒人入门(二)快速理解网络通信协议下篇》《网络编程懒人入门(三)快速理解TCP协议一篇就够》《高性能网络编程(七)到底什么是高并发一文即懂》《腾讯资深架构师干货总结一文读懂大型分布式系统设计的方方面面》《快速理解高性能HTTP服务端的负载均衡技术原理》《新手入门零基础理解大型分布式架构的演进历史、技术原理、最佳实践》《通俗易懂基于集群的移动端IM接入层负载均衡方案分享》《IM开发基础知识补课正确理解前置HTTP SSO单点登陆接口的原理》
一篇读懂分布式架构下的负载均衡技术分类、原理、算法、常见方案等-其它分享/专项技术区 - 即时通讯开发者社区!