LVS的调度方法有十几中,每种方法的调度标准和适用场景不同。大体有两大类,分别为固定调度方法或称为静态调度方法,另一类是动态调度方法。
常用的具体算法有十种。
1.轮询调度(rr)
将所有请求平均的分发到每个集群节点上,即轮流调度。
2.加权轮询调度(wrr)
由于不同的服务器性能不同,因此要考虑让性能高的节点多承担一些请求,这就需要定义每个节点的权重。调度器根据该节点的权重来判断分发给它的请求量。
也就是以多个节点它们之间的权重比例来分发。
3.源地址hash(Sourcehash,sh)
用于实现会话绑定到某个具体节点。根据请求的来源地址进行请求的分发,用于实现将某个客户端的所有请求都分发到一个固定的服务器上,
与Nginx中的ip_hash算法一样,也是根据客户端IP的hash值来计算请求转发的目标节点。只要客户端IP没有改变,以后的所有请求都转发到一个
固定的服务器节点。
这种调度算法在一定程度上会破坏公平调度的效果,但是请求量越大则调度也就越公平。主要为了实现将某个客户端的会话一直锁定在某个节点,
这样利用保持session,从而避免需要做多个节点的session复制。因为http是无状态的协议,多个请求之间没有关系,为了能够表示出请求与上一次
请求的关系,就