linux集群类型:

LB 负载均衡集群

将用户请求合理的分配至后端服务器处理,使集群负载平衡,并合理利用计算资源。

HA 高可用集群

在集群中关键的单点主机出现故障时,可能会导致整个集群瘫痪,这时就需要对这些关键的单点主机做冗余,以提高集群的可用性 冗余主机会对关键的单点主机做心跳检测,检测到故障便会接手原服务器的服务,这种集群类型就属于高可用HA(high availabllity)集群

HP 高性能集群

linux集群系统扩展方式

当受限于单台主机硬件软件时,或者说当应用需求超出现有硬件资源时,通常有两种方案来解决:

1.用更好的主机来代替性能更好的主机(向上扩展)

2.组合多台主机来完成单个任务,将任务分散处理(向内扩展),这就是通常所说的负载均衡集群(load balancing cluster)简称为LB集群

带来的问题:

1>分散处理用户请求容易解决,但跟踪或追踪用户请求将会成为难题,

例如某用户在A时刻浏览A商品并加入了购物车,这一请求是集群中A服务器处理的, 而在B时刻浏览另一商品并加入购物车,这一请求很有可能会由集群中B服务器来处理。如何同步或追踪用户请求和浏览记录?

2>集群中同一任务的主机之间如何同步?当用户上传文件到集群的A主机后,如何使用户请求B主机时也能查找到此文件?

解决:

1>

a.会话粘性,可将用户请求绑定在某台主机上,只要是同一用户发送的请求都会只发送到固定的主机上(会话粘性),但当此台服务器宕机会出现问题
b.cookie

用户绑定 (IP)

c.session复制集群,将各台主机的session进行同步复制,但虽然解决了会话粘性的依赖,但会带来更大的问题,每台主机都会存储大量的session,主机之间会不停的复制,这样就占用了大量的资源,不适合大型集群
d.session共享存储服务器,集群中每台服务器产生的session都保存在共享的内存存储服务器上

2>共享存储

LVS负载均衡集群的调度方式:

静态算法:只根据调度算法来分配,而不考虑后端的实际连接情况

①.rr 轮询(Round Robin),顾名思义,就是指将请求按一定的规律或顺序平均分配给后端主机处理,这种方式适合后端处理请求的主机之间性能差异很小的情况

②.wrr 加权轮询(Weighted Round Robin),当后端处理请求的主机之间性能差异较大时,就需要使性能较差的主机相对少的处理任务,式性能较强的主机尽可能多的处理任务,这时用加权轮询是比较方便易用的办法

③.sh 源地址hash调度,以原地址作为关键字做静态hash表来确定需要的RS。

④.dh 目标地址hash调度,以目标地址作为关键字做静态hash表来确定需要的RS。

动态算法:根据后端RS连接的实际情况做分配

①.lc 最小连接数调度(least connection),将用户请求分配到连接数最少的RS上,当所有RS连接数都为0时,会按轮询方式来调度。

②.wlc 加权最小连接数调度(weighted least connection)将用户请求分配至后端连接数最少且权重最高的RS。