一:集群概念:
1.
两大关键特性
集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性与可用性的服务平台。在客户端看来,一个集群就象是一个服务实体,但事实上集群由一组服务实体组成。与单一服务实体相比较,集群提供了以下两个关键特性:
·
可扩展性
--集群的性能不限于单一的服务实体,新的服务实体可以动态地加入到集群,从而增强集群的性能。
·
高可用性
--集群通过服务实体冗余使客户端免于轻易遇到
out of service
的警告。在集群中,同样的服务可以由多个服务实体提供。如果一个服务实体失败了,另一个服务实体会接管失败的服务实体。集群提供的从一个出错的服务实体恢复到另一个服务实体的功能增强了应用的可用性。
IXDBA.NET社区论坛
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
:分布式(集群)与集群的联系与区别
分布式是指将不同的业务分布在不同的地方。
而集群指的是将几台服务器集中在一起,实现同一业务。
分布式中的每一个节点,都可以做集群。
而集群并不一定就是分布式的。
举例:就比如新浪网,访问的人多了,他可以做一个群集,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就将给哪一台去完成。
而分布式,从窄意上理解,也跟集群差不多,
但是它的组织比较松散,不像集群,有一个组织性,一台服务器垮了,其它的服务器可以顶上来。
分布式的每一个节点,都完成不同的业务,一个节点垮了,哪这个业务就不可访问了。
相关推荐
关于集群 cook 覆盖问题 及解决方法
用来我博客的例子,大家可以看看哦,关于集群的博客。
Redis是一款开源的高性能内存...- [Redis集群草稿设计文档](https://redis.io/topics/cluster-spec):这是Redis官方提供的关于集群的设计文档,详细介绍了Redis集群的各种细节,对了解Redis集群架构和需要部署的节点
Apache+tomcat集群所有的插件和配置,非常完整,直接下载那来用,有apache_2.2.25.msi,mod_jk-1.2.31-httpd-2.2.3.so,Apache的配置workers.properties,mod_jk.conf,httpd.conf这些所有配置
weblogic集群设置完整版,补充了关于集群设置的几个关键的步骤
spring quartz 项目完美运行。
关于tomcat集群部署总结
redis集群文档,原理,集群搭建过程,非常细致。包括了数据分布,搭建集群的过程、节点通信、集群伸缩、请求路由、故障转移、集群运维等关于集群的重要操作
redis集群文档,原理,集群搭建过程,非常细致。包括了数据分布,搭建集群的过程 、节点通信、集群伸缩、请求路由、故障转移、集群运维等关于集群的重要操作
[转]关于在集群中编程的问题,供用户使用
google公司发表的关于集群部署的论文
本文档是关于Kettle集群的相关配置,有需要请下载
关于LINUX集群中的NIS,NFS,RSH配置 2009-12-03 23:18 LINUX集群中的每个节点都有自己的处理器和内存,运行独立的操作系统,不能直接访问其他节点的处理器,内存或其他设备。而MPI环境却要求这样的访问,这就需要...
这个是关于Oracle集群配置的文档 这个是关于Oracle集群配置的文档 这个是关于Oracle集群配置的文档 这个是关于Oracle集群配置的文档
FineReport关于tomcat集群部署的方案.pdf
1. 前言 在使用redis集群时,发现...关于Redis集群配置代码此处不贴,直接贴配置监听类代码! redis.host1: 10.113.56.68 redis.port1: 7030 redis.host2: 10.113.56.68 redis.port2: 7031 redis.host3: 10.113.56.6
收集博文自行排版制作的文档,关于集群技术的概念、原理和实现的基本描述,刚刚接触集群技术的朋友不妨阅读一下,以便掌握集群技术的基本知识。
8.关于J2EE集群的神话 8.1.失败转移能够彻底避免错误 -- 否定! 8.2.单机应用可以透明的迁移到集群环境 -- 否定! 8.2.1.HTTP会话 8.2.2.缓存 8.2.3.静态变量 8.2.4.外部资源 8.2.5.特殊的服务 8.3.分布式结构比单一...
一个简单的关于Solr集群部署的,SolrCloud集群架构图
多台服务器集群后,配置权限、数据连接、模板、定时调度等,只能每台服务器一个个配置,不会自动同步到所有服务器。