chenfei0 2020-02-24
固定算法(静态调度算法):只根据算法本身去调度,不考虑服务器本身
动态算法(动态调度算法):除了考虑算法本身,还要考虑服务器状态
静态调度算法:
RR:轮询-----将每次用户的请求分配给后端的服务器,从第一台服务器开始到N太结束,然后循环
WRR:加权轮询-----按照权重的比例实现在多台主机之间进行调度(权重越高,分的越多)
SH:源地址散列----将同一个IP的用户请求,发送给同一台服务器
DH:目标地址散列----将同一目标地址的用户请求发送给同一个真实服务器
动态调度算法:
LC:最少连接---将新的连接请求,分配给连接数最少的服务器 活动连接x256+非活动连接
WLC:加权最少连接---(活动连接x256+非活动连接)/权重
SED:最短期望延迟-----
LVS:持久连接(类似SH算法,优先于通用算法)
优先级:持久化连接>通用算法
持久化连接:
PCC(持久客户端连接)将来自于同一个客户端的所有请求,统统定向至此前选定的RS,也就是只要IP相同,分配的服务器始终相同
PPC(持久端口连接)将来自于同一个客户端对同一个服务(端口)的请求,始终定向至此前选定的RS
PFMC(持久防火墙标记连接)
前言:在涉及到对外项目,经手许多小中型网站的架构,F5、LVS及Nginx都比较多,我想一种比较通俗易懂的语气跟大家说明下何谓负载均衡,何谓Linux集群,帮助大家走出这个误区,真正意义上来理解它们。