集群常见的种类

1、LB:Load Balancing:负载均衡集群-->实现将一个访问量特别大的应用按照一定的方式分摊到不同的服务器上以提供大并发、高容量的目的
2、HA:Hight availability:高可用集群-->将多台计算机组织起来,避免一个服务因一台计算机故障导致服务中断的。保障服务的可持续性。
3、HP:hight performance:高性能集群-->为处理同一个特别复杂问题,但单台计算机运算能力不足,所以组织起多台计算机来共同处理这一问题。(天气预报分析、人口统计分析……)
 
各集群各自的代表软件
LB:
  lvs(linux virtual server)
  haproxy
HA:
  heartbeat
  corosync+openais:(pacemaker)RHCS
  ultramokey
  keepalived
HP:
  bowerful
 
##############
lvs的介绍:
LVS:ipvsadm   用户空间,工具
    ipvs      内核空间
lvs实质是一个四层交换,根据请求的IP与相应PORT来做转发
LVS的功能:
for higher throughput     提高更高的吞吐能力
for redundancy            提供冗余
for adaptability          更灵活的适应性
 
lvs涉及到的各个ip名称:
VIP:virtual ip       对外提供服务的ip地址
RIP:realserver ip    集群后的真实ip
DIP:director ip       与真实服务通信的director上的ip
CIP:client computer ip   请求服务的客户端ip地址
 
LVS种类介绍:(分类标准:当用户的请求到达director后,director如何将客户端的请求转发到后端的realserver,以及转发过程中数据的传输方式来定义的)
1、Network address translation(LVS-NAT)  基于网络地址转换
realserver的ip地址必须与director的DIP使用私有地址,用于与director之间进行通信,并且在同一个网段,
director处理reserver与director进出的所有通信
reserver必须把dip设置其默认网关
director可以实现端口映射
reserver可以使用任何的操作系统,linux、windows……
director可能承载的reserver的节点数目很少,一般10个节点内
2、Direct routing(LVS-DR)   直接路由
reserver必须与director在同一个网络
RIP应该使用公网地址
director仅处理client进站的请求,而realserver响应给client的出站请求将不再经过director
通常情况下realserver的网关一定不能指向directyor
director不能做端口映射
大多数操作系统都可以做realserver
director可以承载比LVS-NAT模型下多得多的realserver节点
3、IP tunneling(LVS-TUN)    隧道
realserver与director应该在不同的网络里
realserver的ip必须是公网地址
director只需要处理进站请求
不能做端口映射
realserver的网关不能指向DIP
拥有IP隧道的操作系统才能部署成realserver
 
LVS scheduling methods(LVS的10种调度方法):
 
1、固定调度方法:redirector在选取下一个realserver时,不会考虑realserver当时的活动连接状态
round-robin(RR):轮调
一个一个调度
weighted round-robin(WRR):加权的轮调
realserver负载能力不同时,根据加权值来按照realserver之间的权值比来调度realserver
destination hashing(DH):目标地址哈希
将同一个client请求发往同一个realserver,主要用在有缓存负载机制的场景,提高缓存的命中率
source hashing(SH):源地址哈希
用在企业有两个公有网络出口时,便出连接状态的监听与检测
 
2、动态调度方法:redirector在选取下一个realserver时,会考虑realserver当前的连接状态,哪些是活动(ESTABISHED staus)的,有多少,哪些是没   有活动的,数量是多少
Least-connecting(LC):最少连接数量,overhead数少那就选择谁,相同时选择在配置列表中靠前的
计算方法:overhead=活动状态连接数*256+非活动状态数
Weighted least-connecting(WLC)
计算方法:overhead=(活动状态连接数*256+非活动状态数)/权重值
Shortest expected delay(SED):最短期望延迟算法,不再考虑非活动连接数
计算方法:overhead=[(当前活动连接数+1)*256]/权重值
Never queue(NQ):从不排队算法
计算方法:overhead=[(当前活动连接数+1)*256]/权重值,在此计算方法上先要给没有请求的realserver至少 一个请求
Locality-based least-connection(LBLC:DH):基于本地的最少连接,是DH算法的动态模式
Locality-based least-connection with replication scheduling(LBLCR):带复制的基于本地的最少连接