集群介绍
1)Cluster :集群, 为解决某个特定问题将多台计算机组合起来形成的单个系统。
集群技术可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益,其任务调度则是集群系统中的核心技术。
集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。
一个客户与集群相互作用时,集群就像是一个独立的服务器,集群配置是用于提高可用性和可缩放性。
2)集群系统的主要优点:
高可扩展性、高可用性、高性能、高性价比。
4)系统扩展方式:
Scale UP :向上扩展, 增强
将服务器的内存容量调大和cpu数量增加些,简单来说就是升级服务器硬件
缺点:在一定的范围内它的性能是上升的趋势,但是超出范围后就是下降的趋势。因为随着它的cpu的个数增加我们需要给我们的cpu仲裁,而且随着cpu个数的增加资源竞争性越大。
Scale Out :向外扩展, 增加设备,调度分配问题
一台服务器应付不过来,我们就再增加一台服务器,简单来说就是另外增加服务器。
向外扩张的工作模式,就是当客户端向服务器端发送请求,服务器端只拿出来一台服务器来响应我们客户端的请求。
优点:增减服务器很方便,而且没有向上扩展随着增加性能下降
6)Linux Cluster 类型:
LB :Load Balancing ,负载均衡集群
负载均衡集群中有一个分发器或者叫调度器,称为Director。
它处在多台服务器的上面,分发器根据内部锁定的规则或调度方式从下面的服务器群中选择一个以此来响应客户端发送的请求。
HA :High Availiablity ,高可用集群,SPOF(single Point Of failure)
高可用集群是服务的可用性比较高,当某台服务器死机后不会造成服务不可用。
其工作模式则是将一个具有故障的服务转交给一个正常工作的服务器,从而达到服务不会中断。
一般来说集群中工作在前端(分发器)的服务器都会对后端服务器做一个健康检查,如果发现服务器宕机就不会对其在做转发。
MTBF:Mean Time Between Failure 平均无故障时间
MTTR:Mean Time To Restoration(repair)平均恢复前时间
衡量标准:A=MTBF/(MTBF+MTTR)
(0,1) :99%, 99.5%, 99.9%, 99.99%, 99.999%, 99.9999%
HPC :High-performance computing,高性能集群
高性能的集群是当某一任务量非常大的时候,可以做一个集群共同来完成这一任务。
这种处理方式称为并行处理集群,并行处理集群是将大任务划分为小任务,分别进行处理的机制。
一般这样的集群用来科学研究与大数据运算等方面的工作。
现在比较火的Hadoop就是使用的并行处理集群。
总结:
负载均衡集群者重于提供服务并发处理能力的集群
高可用集群是提升服务在线能力的集群
高性能集群着重于处理海量任务的集群
7)分布式系统:
分布式存储:云盘
分布式计算:hadoop,Spark
8)基于工作的协议层次划分:
传输层(通用):DPORT
LVS:
nginx :stream
haproxy :mode tcp
应用层 (专用) :针对特定协议,自定义的请求模型分类
proxy server:
http :nginx, httpd, haproxy(mode http), ...
fastcgi :nginx, httpd, ...
mysql :mysql-proxy, ...
9)LB Cluster 的实现
硬件
F5 Big-IP
Citrix Netscaler
A10 A10
软件
lvs :Linux Virtual Server
nginx :支持四层调度
haproxy :支持四层调度
ats :apache traffic server ,yahoo 捐助
perlbal :Perl 编写
pound
会话保持:负载均衡
(1) session sticky :同一用户调度固定服务器
Source IP :LVS sh 算法(对某一特定服务而言)
Cookie
(2) session replication :每台服务器拥有全部session
session multicast cluster
(3) session server :专门的session 服务器
Memcached ,Redis
10)HA 集群实现方案
keepalived:vrrp 协议
ais: 应用接口规范
heartbeat
cman+rgmanager(RHCS)
coresync_pacemaker