??xml version="1.0" encoding="utf-8" standalone="yes"?>
1. 两大关键Ҏ?
集群是一l协同工作的服务实体Q用以提供比单一服务实体更具扩展性与可用性的服务q_。在客户端看来,一个集就象是一个服务实体,但事实上集群׃l服务实体组成。与单一服务实体相比较,集群提供了以下两个关键特性:
· 可扩展性-Q集的性能不限于单一的服务实体,新的服务实体可以动态地加入到集,从而增强集的性能?/p>
· 高可用性-Q集通过服务实体冗余使客L免于L遇到out of service的警告。在集群中,同样的服务可以由多个服务实体提供。如果一个服务实体失败了Q另一个服务实体会接管p|的服务实体。集提供的从一个出错的服务实体恢复到另一个服务实体的功能增强了应用的可用性?/p>
2. 两大能力
Zh可扩展性和高可用性特点,集群的必d备以下两大能力:
· 负蝲均衡Q-负蝲均衡能把d比较均衡地分布到集群环境下的计算和网l资源?/p>
· 错误恢复Q-׃某种原因Q执行某个Q务的资源出现故障Q另一服务实体中执行同一d的资源接着完成d。这U由于一个实体中的资源不能工作,另一个实体中的资源透明的l完成Q务的q程叫错误恢复?/p>
负蝲均衡和错误恢复都要求各服务实体中有执行同一d的资源存在,而且对于同一d的各个资源来_执行d所需的信息视图(信息上下文)必须是一L?/p>
3. 两大技?
实现集群务必要有以下两大技术:
· 集群地址Q-集群由多个服务实体组成,集群客户端通过讉K集群的集地址获取集群内部各服务实体的功能。具有单一集群地址Q也叫单一影像Q是集群的一个基本特征。维护集地址的设|被UCؓ负蝲均衡器。负载均衡器内部负责理各个服务实体的加入和退出,外部负责集群地址向内部服务实体地址的{换。有的负载均衡器实现真正的负载均衡算法,有的只支持Q务的转换。只实现d转换的负载均衡器适用于支持ACTIVE-STANDBY的集环境,在那里,集群中只有一个服务实体工作,当正在工作的服务实体发生故障Ӟ负蝲均衡器把后来的Q务{向另外一个服务实体?/p>
· 内部通信Q-Z能协同工作、实现负载均衡和错误恢复Q集各实体间必L帔R信Q比如负载均衡器Ҏ务实体心x试信息、服务实体间d执行上下文信息的通信?/p>
h同一个集地址使得客户端能讉K集群提供的计服务,一个集地址下隐藏了各个服务实体的内部地址Q得客戯求的计算服务能在各个服务实体之间分布。内部通信是集能正常q{的基Q它使得集群h均衡负蝲和错误恢复的能力?/p>
集群分类
Linux集群主要分成三大c? 高可用集, 负蝲均衡集群Q科学计集?
高可用集? High Availability Cluster)
负蝲均衡集群(Load Balance Cluster)
U学计算集群(High Performance Computing Cluster)
================================================
具体包括Q?/p>
Linux High Availability 高可用集?nbsp;
(普通两节点双机热备Q多节点HA集群QRAC, shared, share-nothing集群{?
Linux Load Balance 负蝲均衡集群
(LVS{?...)
Linux High Performance Computing 高性能U学计算集群
(Beowulf c集?...)
分布式存?nbsp;
其他clinux集群
(如Openmosix, rendering farm {?.)
详细介绍
1. 高可用集?High Availability Cluster)
常见的就?个节点做成的HA集群Q有很多通俗的不U学的名Uͼ比如"双机热备", "双机互备", "双机".
高可用集解决的是保障用L应用E序持箋对外提供服务的能力?(h意高可用集群既不是用来保护业务数据的Q保护的是用L业务E序对外不间断提供服务,把因软g/g/Zؓ造成的故障对业务的媄响降低到最程??/p>
2. 负蝲均衡集群(Load Balance Cluster)
负蝲均衡pȝQ集中所有的节点都处于活动状态,它们分摊pȝ的工作负载。一般Web服务器集、数据库集群和应用服务器集群都属于这U类型?/p>
负蝲均衡集群一般用于相应网l请求的|页服务器,数据库服务器。这U集可以在接到hӞ查接受请求较,不繁忙的服务器,q把h转到q些服务器上。从查其他服务器状态这一点上看,负蝲均衡和容错集很接近Q不同之处是数量上更多?/p>
3. U学计算集群(High Performance Computing Cluster)
高性能计算(High Perfermance Computing)集群Q简UHPC集群。这c集致力于提供单个计算机所不能提供的强大的计算能力?/p>
高性能计算分类
高吞吐计?High-throughput Computing)
有一c高性能计算Q可以把它分成若q可以ƈ行的子Q务,而且各个子Q务彼此间没有什么关联。象在家搜寻外星人( SETI@HOME -- Search for Extraterrestrial Intelligence at Home Q就是这一cd应用。这一目是利用Internet上的闲置的计资源来搜寻外星人。SETI目的服务器一l数据和数据模式发给Internet上参加SETI的计节点,计算节点在给定的数据上用l定的模式进行搜索,然后搜索的l果发给服务器。服务器负责从各个计算节点q回的数据汇集成完整的数据。因U类型应用的一个共同特征是在v量数据上搜烦某些模式Q所以把q类计算UCؓ高吞吐计。所谓的Internet计算都属于这一cR按?Flynn的分c,高吞吐计属于SIMDQSingle Instruction/Multiple DataQ的范畴?/p>
分布计算(Distributed Computing)
另一c计刚好和高吞吐计相反,它们虽然可以l分成若qƈ行的子Q务,但是子Q务间联系很紧密,需要大量的数据交换。按照Flynn的分c,分布式的高性能计算属于MIMDQMultiple Instruction/Multiple DataQ的范畴?/p>
4. 分布式(集群Q与集群的联pM区别
分布式是指将不同的业务分布在不同的地斏V?
而集指的是几台服务器集中在一P实现同一业务?
分布式中的每一个节点,都可以做集群?
而集ƈ不一定就是分布式的?
举例Q就比如新浪|,讉K的h多了Q他可以做一个群集,前面放一个响应服务器Q后面几台服务器完成同一业务Q如果有业务讉K的时候,响应服务器看哪台服务器的负蝲不是很重Q就给哪一台去完成?
而分布式Q从H意上理解,也跟集群差不多, 但是它的l织比较松散Q不像集,有一个组l性,一台服务器垮了Q其它的服务器可以顶上来?
分布式的每一个节点,都完成不同的业务Q一个节点垮了,哪这个业务就不可讉K了?/p>
本文来自CSDN博客Q{载请标明出处Qhttp://blog.csdn.net/tanghongru1983/archive/2009/04/28/4130356.aspx