集群:一组协同工作的服务器对外表现为一个整体
集群优化方案
垂直扩展:提高服务器的性能指标
优点:
网络拓扑环境无需更改
技术实现要求较低
缺点:
上限较低{这里要说一下超算,超算并不是一台机器,而是一个集群,高性能运算集群}
硬件不能无限扩容上去
软件自身瓶颈{例如一个应用程序最多调用2G资源,你给它再多也没用}
水平扩展:
优点:
上限很高{也不是无限上限}{F5硬件:能够支撑数万台调度}
缺点:
技术实现要求高
负载均衡集群 LBC:将用户的访问压力分担至不同节点
组成
agent 端 负载调度器{nginx,F5},决定集群的规模
真实服务器:{Apache、Nginx、Tomcat}
共享存储
当规模过大以后单机群无法实现负载,我们可以采用以下方案:
1、业务细分至不同集群
2、采用类 CDN 服务,将原站压力减轻
3、边缘计算,计算节点距离用户最近城市,在城市构建集群,访问请求在城市内部解决,进行返回
负载调度器分类
Nginx
LVS
Haproxy
F5 硬件{需要花钱买,太贵了}
高可用集群:HAC 尽可能的提高服务的可用性
原理:心跳检测
容易出现的问题:脑分裂
解决方案
1、延迟的多次发送
2、心跳线的冗余 串口线,说白了就是网线
3、电源交换机
高可用级别的分类
99 99%{一般增加几个服务器的数量即可实现}
999 99.9%{需要做一个小型的集群}
9999 99.99%{建立一个大型的数据中心}
99999 99.999%{这你就需要问巨头了}
实现方案
heartbeat
keepalived
rose
安瑞科技
F5
高性能运算集群:HPC 提供单台服务器提供不了的计算能力
例如:现在有一个任务 A,A 可以逻辑上拆分为 10 a,一个标准服务器计算一个 a 需要 1 小时,计算大 A 需要 10 小时,现在有11 台标准服务,那么求
LBC,计算了 1 A,计算了 0_ a, 耗时 _10{只有两个节点工作,调度器和一个真实服务器,其他真实服务器不工作}
HPC,计算了 1 A,计算了 10 a, 耗时 1{10个节点都在工作}