Linux----------集群介绍

一、Cluster概念

业务系统扩展方式:
Scale UP:向上扩展,增强设备的性能
Scale Out:向外扩展,增加设备,调度分配问题,即Cluster

1.1 集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源,这些单个的计算机系统就是集群的节点(node)。集群提供了以下关键的特性。

(一) 可扩展性。集群的性能不限于单一的服务实体,新的服务实体可以动态的加入到集群,从而增强集群的性能。

(二) 高可用性。集群通过服务实体冗余使客户端免于轻易遭遇到“out of service”警告。当一台节点服务器发生故障的时候,这台服务器上所运行的应用程序将在另一节点服务器上被自动接管。消除单点故障对于增强数据可用性、可达性和可靠性是非常重要的。

(三) 负载均衡。负载均衡能把任务比较均匀的分布到集群环境下的计算和网络资源,以便提高数据吞吐量。

(四) 错误恢复。如果集群中的某一台服务器由于故障或者维护需要而无法使用,资源和应用程序将转移到可用的集群节点上。这种由于某个节点中的资源不能工作,另一个可用节点中的资源能够透明的接管并继续完成任务的过程叫做错误恢复。

1.2 分布式与集群的联系与区别如下:

(一) 分布式是指将不同的业务分布在不同的地方。

(二) 而集群指的是将几台服务器集中在一起,实现同一业务。

(三) 分布式的每一个节点,都可以做集群,而集群并不一定就是分布式的。而分布式,从狭义上理解,也与集群差不多,但是它的组织比较松散,不像集群,有一定组织性,一台服务器宕了,其他的服务器可以顶上来。分布式的每一个节点,都完成不同的业务,一个节点宕了,这个业务就不可访问了。

1.3 集群主要分成三大类:

HA:高可用集群(High Availability Cluster)。

LBC:负载均衡集群/负载均衡系统(Load Balance Cluster)

HPC:科学计算集群(High Performance Computing Cluster)/高性能计算(High Performance Computing)集群。

1.4 分布式系统:

分布式存储:云盘

分布式计算:hadoop,Spark

1.5 Cluster分类

硬件:
F5 Big IP
A10
Citrix Netscaler

软件:
lvs: Linux Virtual Server,负载调度器
nginx: 支持四层调度,七层负载均衡
haproxy : 专业的代理服务器,支持四层调度
ats: apache traffic server
perbal : perl编写
pound

1.51 cluster工作的协议层

基于工作的协议层划分:

传输层(通用):DPORT
LVS:
nginx: stream
haproxy: mode tcp

应用层(专用):针对特定协议,自定义的请求模型
proxy server:
http: nginx,httpd,haproxy(mode http),..
fastcgi: nginx,httpd,...
mysql: mysql-proxy,...

1.6 Cluster相关

回话保持:负载均衡
(1) session sticky:同一用户调度固定服务器
Source IP:LVS sh算法(对某一特定服务而言)
Cookie
(2) session replication:每台服务器拥有全部session
session multicast cluster
(3) session server:专门的session服务器
Memcached,Redis

1.7 HA集群实现方案

keepalived : vrrp协议
ais:应用接口规范
heartbeat
cman+rgmanager(RHCS)
coresync_pacemaker

原文地址:https://www.cnblogs.com/wangchengshi/p/10916826.html