一、集群基础

  1.系统的扩展方式

          Scale up向上扩展:提高单台服务器的性能

          Scale out向外扩展:多台服务器联合起来满足同一个需要

  2.集群类型

   (1)LBLoad Balancing, 负载均衡集群;

前端:负载均衡器,调度器;

后端:上游服务器(upstreamserver),后端服务器,“真”服务器(real server);

     注意SPOF:Single Point Of Failure:单点故障

   (2)HAHigh Avalilability, 高可用集群; 提供冗余主机来提升系统可用性;

前端:  Active活动服务器

后端:Passive备用服务器

Availability= 平均无故障时间/(平均无故障时间+平均修复时间)

   (3)HPHigh Performance,高可用集群

                  组合多台主机解决一个问题,每个主机只负责其中一部分运算

   (4)DSDistributed System,分布式系统

             例如:hadoop (mapreduce分布式计算、hdfs分布式存储)

     分布式存储:HDFS、MogileFS、GlusterFS,Ceph

     分布式计算:hadoopYARN框架

batch:MapReduce

in-memory:spark

stream:storm

...

 

二、集群实现方案

  1.LB集群的实现:

      (1)基于软硬件层面划分

               硬件实现:F5 BIG-IPCitrix NetscalerA10 A10ArrayRedware

               软件实现:lvs(Linux Virtual Server)haproxynginxats(apache traffic server)perlbal

      (2)基于工作的协议层次划分:

  传输层:lvs,haproxy(mode tcp)

  应用层:haproxy(mode http), nginx, ats, perlbal

  2.HA集群的实现:

      1) keepalived:通过实现vrrp协议来实现地址漂移;

      2) AIS提供系列

  heartbeat,接近于废弃,CentOS 6之前系统可能使用

  cman+rgmanager(RHCS: redhat cluster suite),红帽集群套件

  corosync+pacemaker,现在主流实现方案