Linux Cluster
集群:将多台主机组织起来,满足同一个需求;
单台主机处理能力有限,包括cpu、IO、内存、带宽等资源,无法满足客户端请求;
把用户的请求分散到多个不同的服务器,分摊压力;
可用性:
Avalibility=MTBF/(mtbf+mttr)
可用性=平均无故障时间/(平均无故障时间+平均修复时间)
其值:[0,1]之间,常用百分比衡量,99%,99.9%,99.99%,99.999%,每一级比下级高了10倍的可用性;
例如:1000个小时,99%表示有990个小时可用;99.9%表示有999个小时可用;以此类推,5个9可用999.99小时,只有0.01小时不可用;
系统扩展的方式
Scale UP:向上扩展,垂直扩展;更换高性能的硬件;
Scale OUT:向外扩展,水平扩展;利用多台主机,实现分摊压力;但并不是线性扩展;
集群的类型
LB:Load Balancing,负载均衡集群
负载均衡器,或调度器、分发器;
后端主机(backend server,upstreaming server),“真”服务器(real server)
硬件实现:各公司的产品
F5 BIG-IP
Citrix Netscaler
A10 A10
Array
Redware
软件实现:
lvs:Linux Virtual Server
haproxy
nginx
ats(apache traffice server)
perlbal
基于工作的协议层次划分
-
传输层:
lvs(工作在内核中),haproxy,nginx -
应用层:
haproxy(mod http)、nginx、ats、perlbal
站点指标
- PV:Page View
- UV:Unique Vistor
- IP:用户
会话保持
- session sticky会话绑定:
使用sh方法任何一台服务器down掉,会话将丢失; - session cluster会话集群:
把后端需要保持的服务器做一个会话集群,每一个主机的会话都通过网络同步到集群中的其它节点上,使得集群中的每个节点都有集群中的所有会话,从而实现任何一个节点down掉,会话都存在;因此,不用绑定,好处是不会影响负载均衡的效果;任何一台服务器down掉,不影响会话; - session server会话服务器:
使用一台服务器专门保存会话;这样会成为单点,还要提高服务器的可用性;
lvs工作在内核中,第一,不需要监听套接字并维护套接字文件;第二,无需扮演成客户端(反代)向后端取用户请求的资源,如果是在应用层,为后端代理时,还需要ip地址和端口,如果并发请求10万个,则不能满足,因为有效端口才65535个端口;这样,前端打开文件数量没有问题,但将后端转发请求时,受限于所能打开的套接字,所以并发数有限,文件数量;在内核中则没有这样的限制,因此,第一,就突破了套接字文件的限制;第二,套接字可用端口数量的限制;
HA:High Availibility,高可用集群
Actiive:活动服务器
Passive:备用服务器(standby)
SPOF:Single Point Of Failure;单点故障;
A=MTBF/(MTBF+MTTR)
可用性=平均无故障时间/(平均无故障时间+平均修复时间)
HP:High Performance 高性能集群
www.top500.org 全球500强计算机排名;
DS:Distrubuted System 分布式系统
- 分布式运算
- 分布式存储
网友评论