F5负载均衡算法中,可以设置优先级。在F5的配置中为:Priority Group
优先级算法主要用于备份功能,可以实现一对一备份,或者多对多备份。也就是默认可以选择一个后台服务进行分发,当该服务有问题的时候,将该流量分发到另一个备份的服务上去。
通常用在数据库业务的备份,以及一些银行特定业务的备份。
F5的实现方式为:
设置Priority Group Activation的值,这个是最少需要多少个服务才能承载该业务。比如:3,也就是说该业务需要3台服务进行支撑。
设置每个服务的优先级的值,也就是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)的所有设备都加入到流量组。
有关优先级组算法还有很多灵活的用法,欢迎大家提出自己的想法和问题。