负载均衡常用算法介绍


本文摘自PHP中文网,作者V,侵删。

负载均衡常用算法:

1、轮询 (round-robin)

轮询为负载均衡中较为基础也较为简单的算法,它不需要配置额外参数。假设配置文件中共有 M 台服务器,该算法遍历服务器节点列表,并按节点次序每轮选择一台服务器处理请求。当所有节点均被调用过一次后,该算法将从第一个节点开始重新一轮遍历。

特点:

由于该算法中每个请求按时间顺序逐一分配到不同的服务器处理,因此适用于服务器性能相近的集群情况,其中每个服务器承载相同的负载。但对于服务器性能不同的集群而言,该算法容易引发资源分配不合理等问题。

2、加权轮询

为了避免普通轮询带来的弊端,加权轮询应运而生。在加权轮询中,每个服务器会有各自的 weight。一般情况下,weight 的值越大意味着该服务器的性能越好,可以承载更多的请求。该算法中,客户端的请求按权值比例分配,当一个请求到达时,优先为其分配权值最大的服务器。

特点:

加权轮询可以应用于服务器性能不等的集群中,使资源分配更加合理化。

其核心思想是,遍历各服务器节点,并计算节点权值,计算规则为 current_weight 与其对应的 effective_weight 之和,每轮遍历中选出权值最大的节点作为最优服务器节点。其中 effective_weight 会在算法的执行过程中随资源情况和响应情况而改变。

3、IP 哈希(IP hash)

ip_hash 依据发出请求的客户端 IP 的 hash 值来分配服务器,该算法可以保证同 IP 发出的请求映射到同一服务器,或者具有相同 hash 值的不同 IP 映射到同一服务器。

特点:

该算法在一定程度上解决了集群部署环境下 Session 不共享的问题。

推荐教程:nginx教程

以上就是负载均衡常用算法介绍的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

nginx怎么配置负载均衡

nginx实现负载均衡有哪几个模式

nginx负载均衡有哪些实现方式

nginx负载均衡原理

什么是负载均衡负载均衡的简单介绍

负载均衡常用算法介绍

apache如何做负载均衡

nginx负载均衡是什么

nginx怎么负载均衡

配置nginx实现负载均衡(图)

更多相关阅读请进入《负载均衡》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...