F5负载均衡算法中,可以设置优先级。在F5的配置中为:Priority Group

优先级算法主要用于备份功能,可以实现一对一备份,或者多对多备份。也就是默认可以选择一个后台服务进行分发,当该服务有问题的时候,将该流量分发到另一个备份的服务上去。

通常用在数据库业务的备份,以及一些银行特定业务的备份。

F5的实现方式为:

  1. 设置Priority Group Activation的值,这个是最少需要多少个服务才能承载该业务。比如:3,也就是说该业务需要3台服务进行支撑。

  2. 设置每个服务的优先级的值,也就是Priority Group的值。比如:9,8,6,3等,可以重复。

当设置完成后,就可以使用了。

实现原理为F5按照优先级的值从高到低选择服务器,数量为大于等于优先级组(Priority Group Activation)设置的值。

这里举两个例子进行说明。

第一个例子,目的是一直有3个服务器进行服务,如果某台服务器出现问题的时候,直接增加一台服务器到流量组中,总共服务器数量为6台。

设置方法为:先将Priority Group Activation设置为3,再将其中三台服务器的值设置为9, 其他三台机器分别设置为:7,5,3。这样的设置,当所有机器可用的情况下,会选择优先级值为9的三台设备;但某台设备出现问题后,F5会将优先级值为7的设备加入到流量分配组中;再出现一台设备故障是,F5会将优先级为5的设备加入到流量分配组中。

第二个例子,目的是不想做太复杂,就希望平时,有个3台服务器进行服务,如果某台服务器出现问题的时候,直接将另外3台设备直接加入到流量组中,总共服务器数量为6台。

设置方法为:先将Priority Group Activation设置为3,再将其中三台服务器的值设置为9, 其他三台机器设置为:7。这样的设置,当所有机器可用的情况下,会选择优先级值为9的三台设备;但某台设备出现问题后,F5会将优先级值为7的三台设备加入到流量分配组中,此时会有5台机器提供服务。因为优先级为9的机器只有2个,小于Priority Group Activation的值(3),所以F5会将下一个优先级(这里是7)的所有设备都加入到流量组。

有关优先级组算法还有很多灵活的用法,欢迎大家提出自己的想法和问题。