暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

集群简介

DB SQL 学习号 2021-04-19
348

   

集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性与可用性的服务平台。在客户端看来,一个集群就像是一个服务实体,但事实上集群由一组服务实体组成。与单服务实体相比较,集群提供了以下两个关键特性,及可扩展性和高可用性。

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

    高可用性:集群通过对服务实体的冗余配置,使客户端减少遇到“服务宕机”警告的可能性。在集群中,同样的服务由多个服务实体提供。如果一个服务实体失败了,另一个实体会接管失败的服务实体。集群提供的从一个出错的服务实体恢复到另一个服务实体的功能增加应用的可用性。

    为了具有可扩展性和高可用,集群必须具备两大核心能力及负载均衡和故障转移

    负载均衡(LB):负载均衡(Load Balance|LB)能把处理任务尽可能均衡地分散到集群环境中的每个节点和网络资源。

    故障转移(Failover)

由于某种原因,集群中正在执行某个任务的服务出现故障,另一服务实体中执行同一任务的资源将接手并继续完成任务。这种由于一个实体中的资源不能工作,另一个实体中的资源透明的继续完成任务的过程叫故障转移。

    负载均衡和故障转移都要求各服务实体中有执行同一任务的资源存在,而且对于同一任务的各个资源来说,执行任务所需的信息视图(信息上下文)必须是一样的。

    集群的分类方式可以有两种:按照体系结构的分类和按照功能的分类。根据组成集群系统的计算机体系结构是否相同,可以分为同构和异构两种集群;业界更常见的分类方法是根据不同的功能分为以下三类;

    1、高性能计算集群。

高性能计算集群采用将计算任务分配到不同计算节点来提高整体计算能力,因而主要应用在科学计算领域。这种集群是并行计算的基础,其处理能力与真正超级并行机相等,并且具有优良的性价比。这种集群目前多见于搜索引擎、文本挖掘等互联网业务中。

    2、负载均衡集群

负载均衡集群为提供了更实用的系统。这种集群的核心是把业务的负载流量尽可能平均合理地分配到集群各个节点。这种集群系统会计算应用负载或网络流量负载,非常适合于提供静态内容网站。每个节点都可以处理一部分负载,并且可以根据节点负载进行动态平衡,以保持负载平衡。对于网络流量,负载均衡算法还可以根据每个节点不同的可用资源或网络的特殊环境来进行优化。

    3、高可用性能集群

高可用性集群(HA)侧重于提高系统的可用性,它通过集成硬件和软件的容错性来实现整体服务的高可用。如果群集中的某个节点发生了故障,那么将由另外的节点代替它。即使多个节点发生故障,整个系统环境也保证用户能够访问。在实际应用的集群系统中,HA和LB这两种基本类型经常会发生混合与交杂。Oracle RAC就同时具有HA和LB两种能力。

    集群组成的基本“元素”:

1、Cluster

Cluster就是通过心跳网络,比如基于TCPP的网络心跳,基于共享存储磁盘的心跳网络,将一组机器整合而成的个集群。一个集群通常会有多种心跳网络,这是因为如果只用一种心跳机制,可能会导致集群无法区分到底是心跳失效还是节点失效,会造成判断失误,造成错误的节点接管。

2、Node

节点就是Cluster中的一个主机或者一台逻辑意义上的“主机”。

3、Resource

可以从主机接管到备用机器上的逻辑实体,比如IP地址、文件系统、应用程序(比如数据)就叫作资源。这里的IP地址指的是对外服务的地址,也叫作服务地址。这个IP地址可能是一个,在RAC的集群中是一组IP地址,正常时每个节点会有一个服务IP地址,一旦发生了接管,某个节点就会同时有多个服务IP地址。


下一节来说一说Oracle的高可用架构(MAA)


文章转载自DB SQL 学习号,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论