集群基础概念

来源:互联网 发布:java 如何调用dos命令 编辑:程序博客网 时间:2024/06/05 05:29
大量的网络请求受限于带宽限制服务器处理能力的限制,大量的磁盘I/O网络I/O,这些都需要CPU的参与.
若要提高服务器性能:  
             第一种:Scale On 向上扩展 增加硬件
                                         带来的问题:性能并非是线性增长,超多核的CPU争抢资源,CPU仲裁机制本身浪费性能.
             第二种:Scale Out向外扩展 增加服务器
                                        可以分为:LB集群 Load Banlancing负载均衡集群 
                                                        HA集群 High ABailablity高可用性集群
                                                        HP集群 High Performance高性能计算集群


LB集群:    提高并发处理能力
                           调度器    
               服务器+服务器+服务器
               通过调度器实现负载均衡,调度器通过调度算法(RR轮调,WRR加权轮调)将请求分发给多台服务器.一个多线程浏览器的访问对象可能来自于多台服务器。
               服务器之间通过rsync(文件同步工具)+inotify(内核检查文件改变通知用户)时时同步数据.

               负载均衡的高可用性能力:前端主机具备health check健康检查后端服务器健康

               eg:      一个简单WEB应用的负载均衡
                         1      通过LB集群调度器实现多个访问调度至的多个WEB服务器,减少网络I/O
                         2      独立的MySQL服务器和NFS减少磁盘I/O
                         3      WEB服务器之间通过rsync+inotify实现静态页面同步

                         瓶颈:调度器 
                                   NFS NFS的并发处理能力有限                  
                         解决方法:     功能切分     前端做成一个静态页面服务器集群,将链接分发至其他分类集群

                         风险:调度器宕机
                         解决方法:给调度器做HA高可用集群

HA集群:     提高服务的可用性,始终在线能力

                主服务器 :服务器向外时时发生自身心跳信息

                    备用服务器:  1     实时监控主服务器状态
                                          2     夺取主服务器IP
                                          3     启用自身调度服务

                    服务器之间在同一个交换机通过组播的方式,传递心跳信息。
                    DC节点:推选的事物协调员(若DC挂掉重新推选)协调有谁来继承服务

                    脑裂split-brain:主服务器未宕机,备用便替代服务的情况
                    处理方法:     1   爆头STONITH 备用服务器向电源交换机发起切点对方电源的请求
                                         2   隔离fencing     
                                                     节点级别:STONTIH
                                                     资源级别:

                    一个HA集群最少需要奇数个节点

                    问题:备用服务器的资源浪费
                    解决方案,将提供不能服务的服务器组成一个HA集群
                           eg:     WEB+Mail  当WEB挂掉时由Mail服务器提供WEB服务

HP集群     分布式集群 用于处理海量数据计算

                需要具备:     1  分布式文件系统     
                                              分布式存储,将数据分布存储于多个节点
                                              将处理能力也在多个节点进行

                                      2 将大任务切割成为小任务,分别处理处理的的机制
                                              将数据化整为零分别给不同节点处理,再将结果汇总    
0 0