`
阅读更多

集群概念

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

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

· 高可用性--集群通过服务实体冗余使客户端免于轻易遇到out of service的警告。在集群中,同样的服务可以由多个服务实体提供。如果一个服务实体失败了,另一个服务实体会接管失败的服务实体。集群提供的从一个出错的服务实体恢复到另一个服务实体的功能增强了应用的可用性。

2. 两大能力
为了具有可扩展性和高可用性特点,集群的必须具备以下两大能力:

· 负载均衡--负载均衡能把任务比较均衡地分布到集群环境下的计算和网络资源。

· 错误恢复--由于某种原因,执行某个任务的资源出现故障,另一服务实体中执行同一任务的资源接着完成任务。这种由于一个实体中的资源不能工作,另一个实体中的资源透明的继续完成任务的过程叫错误恢复。

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

3. 两大技术
实现集群务必要有以下两大技术:

· 集群地址--集群由多个服务实体组成,集群客户端通过访问集群的集群地址获取集群内部各服务实体的功能。具有单一集群地址(也叫单一影像)是集群的一个基本特征。维护集群地址的设置被称为负载均衡器。负载均衡器内部负责管理各个服务实体的加入和退出,外部负责集群地址向内部服务实体地址的转换。有的负载均衡器实现真正的负载均衡算法,有的只支持任务的转换。只实现任务转换的负载均衡器适用于支持ACTIVE-STANDBY的集群环境,在那里,集群中只有一个服务实体工作,当正在工作的服务实体发生故障时,负载均衡器把后来的任务转向另外一个服务实体。

· 内部通信--为了能协同工作、实现负载均衡和错误恢复,集群各实体间必须时常通信,比如负载均衡器对服务实体心跳测试信息、服务实体间任务执行上下文信息的通信。

具有同一个集群地址使得客户端能访问集群提供的计算服务,一个集群地址下隐藏了各个服务实体的内部地址,使得客户要求的计算服务能在各个服务实体之间分布。内部通信是集群能正常运转的基础,它使得集群具有均衡负载和错误恢复的能力。

集群分类

Linux集群主要分成三大类( 高可用集群, 负载均衡集群,科学计算集群)

高可用集群( High Availability Cluster)
负载均衡集群(Load Balance Cluster)
科学计算集群(High Performance Computing Cluster)
================================================

具体包括:

Linux High Availability 高可用集群
(普通两节点双机热备,多节点HA集群,RAC, shared, share-nothing集群等)

Linux Load Balance 负载均衡集群
(LVS等....)

Linux High Performance Computing 高性能科学计算集群
(Beowulf 类集群....)

分布式存储
其他类linux集群
(如Openmosix, rendering farm 等..)

详细介绍

1. 高可用集群(High Availability Cluster)
常见的就是2个节点做成的HA集群,有很多通俗的不科学的名称,比如"双机热备", "双机互备", "双机".
高可用集群解决的是保障用户的应用程序持续对外提供服务的能力。 (请注意高可用集群既不是用来保护业务数据的,保护的是用户的业务程序对外不间断提供服务,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度)。

2. 负载均衡集群(Load Balance Cluster)

负载均衡系统:集群中所有的节点都处于活动状态,它们分摊系统的工作负载。一般Web服务器集群、数据库集群和应用服务器集群都属于这种类型。

负载均衡集群一般用于相应网络请求的网页服务器,数据库服务器。这种集群可以在接到请求时,检查接受请求较少,不繁忙的服务器,并把请求转到这些服务器上。从检查其他服务器状态这一点上看,负载均衡和容错集群很接近,不同之处是数量上更多。

3. 科学计算集群(High Performance Computing Cluster)

高性能计算(High Perfermance Computing)集群,简称HPC集群。这类集群致力于提供单个计算机所不能提供的强大的计算能力。

高性能计算分类  
 高吞吐计算(High-throughput Computing)
  有一类高性能计算,可以把它分成若干可以并行的子任务,而且各个子任务彼此间没有什么关联。象在家搜寻外星人(SETI@HOME-- Search for Extraterrestrial Intelligence at Home )就是这一类型应用。这一项目是利用Internet上的闲置的计算资源来搜寻外星人。SETI项目的服务器将一组数据和数据模式发给Internet上参加SETI的计算节点,计算节点在给定的数据上用给定的模式进行搜索,然后将搜索的结果发给服务器。服务器负责将从各个计算节点返回的数据汇集成完整的数据。因为这种类型应用的一个共同特征是在海量数据上搜索某些模式,所以把这类计算称为高吞吐计算。所谓的Internet计算都属于这一类。按照Flynn的分类,高吞吐计算属于SIMD(Single Instruction/Multiple Data)的范畴。

分布计算(Distributed Computing)
  另一类计算刚好和高吞吐计算相反,它们虽然可以给分成若干并行的子任务,但是子任务间联系很紧密,需要大量的数据交换。按照Flynn的分类,分布式的高性能计算属于MIMD(Multiple Instruction/Multiple Data)的范畴。

4. 分布式(集群)与集群的联系与区别
分布式是指将不同的业务分布在不同的地方。
而集群指的是将几台服务器集中在一起,实现同一业务。
分布式中的每一个节点,都可以做集群。
而集群并不一定就是分布式的。
举例:就比如新浪网,访问的人多了,他可以做一个群集,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就将给哪一台去完成。
而分布式,从窄意上理解,也跟集群差不多, 但是它的组织比较松散,不像集群,有一个组织性,一台服务器垮了,其它的服务器可以顶上来。
分布式的每一个节点,都完成不同的业务,一个节点垮了,哪这个业务就不可访问了。

分享到:
评论

相关推荐

    CentOS下 dubbo+zookeeeper伪集群和分布式集群

    为了搭建Hadoop平台学习,前期搭建dubbo+Zookeeper集群,这里有详细介绍zookeeeper伪集群和分布式集群, dubbo在tomcat下安装等过程。相关jdk、war、jar等也在百度云...

    服务器集群和分布式的区别[参照].pdf

    【服务器集群】与【分布式系统】是两种不同的技术策略,它们在提升系统性能和可用性方面各有侧重。服务器集群强调的是通过多台服务器协同工作,提供可扩展性和高可用性,而分布式系统则关注于分解大任务以缩短单个...

    hadoop2.5.2的本地模式、伪分布式集群、分布式集群和HDFS系统的高可用的环境搭建.docx

    在搭建Hadoop 2.5.2环境的过程中,我们需要经历几个关键步骤,包括本地模式、伪分布式集群和分布式集群的设置,以及HDFS系统的高可用性配置。首先,确保你的系统已经安装了JDK 1.8,因为Hive等组件需要1.7以上的版本...

    集群与分布式的区别

    集群与分布式的区别 单机结构我想大家最最最熟悉的就是单机结构,一个系统业务量很小的时候所有的代码都放在一个项目中就好了,然后这个项目部署在一台服务器...

    基于Linux集群的分布式实时操作系统的设计.pdf

    在当前的技术背景下,分布式实时操作系统(Distributed Real-time Operating System, DRTO)在诸多关键领域...通过深入研究和实验,可以不断优化上述组件,以实现一个高效、可靠的基于Linux集群的分布式实时操作系统。

    分布式集群dubbo+zookeeper.pdf

    集群和分布式是两种常见的分布式系统形态。 集群是指将同一业务逻辑部署在多台服务器上,这些服务器运行相同的代码,共同处理请求,以分散负载并提供高可用性。当一台服务器出现故障时,其他服务器仍能继续提供服务...

    集群分布式网络架构在短波监测一体化平台中的应用.pdf

    集群分布式网络架构是一种将计算机资源分散部署在网络的不同地理位置上,并通过高速通信网络连接起来,实现资源的共享和任务的高效执行的技术。在短波监测一体化平台中,集群分布式网络架构的应用可以极大地提高系统...

    WebLogic集群与分布式

    【标题】"WebLogic集群与分布式" WebLogic集群是一种高可用性和可伸缩性的解决方案,由Oracle公司开发,用于在Java EE应用服务器环境中部署和管理应用程序。它通过将多个独立的WebLogic Server实例(称为节点)组织...

    Java集群框架Shoal支持容错及分布式状态缓存.zip

    它不仅适用于GlassFish(v2及其后续版本)和JonAS应用服务器的集群引擎,而且可以插入到任何需要集群和分布式系统支持的Java应用中。Shoal的核心服务是组管理服务(GMS),它允许客户端(JVMs)通过组消息接口与组内...

    基于双层稳定匹配的异构无人机集群“分布式”协同算法.pdf

    该基于双层稳定匹配的异构无人机集群“分布式”协同算法可以解决异构无人机集群在战场环境中的协同作战问题,提高异构无人机集群的协同作战效果和稳定性,为军事强国的战略规划和战术执行提供重要的参考依据。

    关于分布式和集群的故事1

    在当今互联网技术迅猛发展的背景下,分布式和集群架构已经成为开发大型、可扩展应用不可或缺的一部分。在这篇故事中,我们将深入探讨单机结构、集群结构与分布式结构的概念、优势及应用,帮助大家更好地理解它们如何...

    Shell 高阶开发实战,轻松应对集群化,分布式环境

    在IT行业中,Shell脚本是Linux/Unix系统中不可或缺的一部分,尤其在管理和自动化集群化、分布式环境时,其重要性不言而喻。"Shell高阶开发实战,轻松应对集群化,分布式环境"这个课程旨在深入讲解如何利用Shell脚本...

    集群系统分布式任务故障冗余管理机制的设计与实现.pdf

    这是设计和实现集群系统分布式任务故障冗余管理机制的主要背景和原因。 2. 任务故障冗余管理机制的必要性:故障冗余管理机制的目的是为了提高集群系统的可靠性,并确保集群系统分布式任务能够稳定运行。通过冗余...

    具有避障的机器人集群系统分布式编队控制.pdf

    12. 文献引用和研究背景:通过提及相关的研究和引用,文档提供了对机器人集群系统分布式编队控制及避障功能研究的背景介绍,为读者进一步了解该领域的研究进展提供了参考。 以上知识点展现了机器人集群系统的分布式...

    day10-RocketMQ集群、分布式WebSocket实现以及地图找房功能实现.zip

    在本课程"某马程序员-JavaEE 57期-day10-RocketMQ集群、分布式WebSocket实现以及地图找房功能实现"中,我们将深入探讨三个关键的IT技术领域:RocketMQ集群的构建与管理,分布式WebSocket的实现,以及地图找房功能的...

    基于Linux集群的分布式进程通信系统的实现.pdf

    基于Linux集群的分布式进程通信系统的实现.pdf

    MySQL大型分布式集群

    MySQL大型分布式集群 MHA MMM 读写分离 集群 分片切片

    网络游戏-在集群的分布式娱乐网络中偏好、供应和授权的分发.zip

    集群分布式网络可以确保游戏的稳定性和高可用性,避免单点故障。服务器群集通常由多个物理或虚拟服务器组成,它们通过负载均衡技术共同处理游戏请求。此外,分布式数据库和CDN(内容分发网络)用于存储和传输游戏...

    基于Hadoop集群的分布式日志分析系统研究

    基于Hadoop集群的分布式日志分析系统研究

Global site tag (gtag.js) - Google Analytics