负载均衡——常用算法整理

本文详细介绍了多种负载均衡算法,包括轮询、加权轮询、平衡权重轮询、随机、加权随机、最小负载、两次随机选择策略以及一致性哈希。其中,一致性哈希强调了保持请求一致性的重要性,而其他算法则侧重于资源的公平分配和处理能力的匹配。通过对这些算法的理解,可以帮助优化服务器调度和提高系统效率。
摘要由CSDN通过智能技术生成

        服务器逻辑开发设计中,调度算法随处可见,资源的调度,请求的分配,负载均衡的策略等等都喝调度算法相关。

1. 轮询

        轮询是一个非常简单的调度算法那,轮询是指将请求一次分配到各个服务节点,从第一个节点开始,依次将请求分配到最后一个节点,之后再开始下一个循环,最终所有的请求会均摊到每一个节点上,假设每个请求的消耗一致,那么轮询调度就是最平衡的调度算法。

2. 加权轮询

        有时候服务节点的性能与配置各不相同,处理能力也不一样,因此轮询的方式来进行调度就不太合适了,这里引入一种算法,是根据节点处理能力的强弱而去配置不同的权重值,采用加权轮询的方式进行调度。

加权轮询可以描述为:

        1. 调度节点记录所有服务节点当前权重值,初始化为配置对应值

        2. 当有请求需要调度时,每次分配选择当前权重最高的节点,同时被选择的节点权重值减一

        3. 若所有节点权重值都为0,则重置为初始化时配置的权重值。

最终所有的请求都会按照各个节点的权重值成比例的分配到各个服务节点上。

3.  平衡权重轮询

        加权轮询算法比较容易造成某个服务街店短时间内呗集中调用,导致瞬时压力过大,权重高的节点会先被选中直至达到权重次数才会选择下一个节点,请求连续的分配在同一个节点上的情况。

        为了应对这种问题,平滑权重轮询实现了基于权重的平滑轮询算法。所谓平滑,就是在一段时间内,不仅服务节点被选择次数的分布和它们的权重一致,而且调度算法还能比较均匀的选择节点,不会在一段时间之内集中只选择某一权重较高

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值