一、常用概念
1、集群
集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高可用性和可缩放性。与单一实体相比较,集群主要提供了两个特性:
-
高可用性,一个结点发生故障,其它结点自动接管。
-
可扩展性,集群可以动态的扩展。
2、结点
集群中的每一个主机都称为结点。
二、集群分类
集群主要分为高可用集群、负载均衡集群和科学计算集群三类。
-
高可用集群(high availability cluster)用于保证持续提供对外服务的能力,把因为软件,硬件,人为的故障对系统的影响降低到最低。
-
负载均衡集群(load balance cluster)集群的结点处于活动状态,它们分摊系统的工作压力。一般web服务器集群,数据库集群和应用服务器集群都属于这类。
-
科学计算集群(high performance computingcluster)致力于提供单个计算机不能提供的强大计算能力。
三、CAP和BASE理论
分布式领域CAP理论,
????????Consistency(一致性),数据一致更新,所有数据变动都是同步的
????????Availability(可用性),好的响应性能
????????Partition tolerance(分区容错性) 可靠性
定理:任何分布式系统只可同时满足二点,没法三者兼顾。
????????忠告:架构师不要将精力浪费在如何设计能满足三者的完美分布式系统,而是应该进行取舍。
BASE理论:
?BASE模型反ACID模型,完全不同ACID模型,牺牲高一致性,获得可用性或可靠性:
?????BasicallyAvailable基本可用。支持分区失败(e.g. sharding碎片划分数据库)
????Soft state软状态。状态可以有一段时间不同步,异步。
????Eventually consistent最终一致。最终数据是一致的就可以了,而不是时时高一致。
BASE思想的主要实现有 ????1.按功能划分数据库 ????2.sharding碎片 ?