为什么使用集群技术

2024-05-17 09:30

1. 为什么使用集群技术

1)强扩展能力
其他扩展技术,通常仅能支持儿十个CPU 的扩展,扩展能力有限。而采用集群技术的集群系统则可以扩展到包括成百上千个CPU的多台服务穗,扩展能力具有明显优势。集群服务还可不断进行调整,以满足不断增长的应用需求。当集群的整体负荷超过集群的实际能力时,还可以添加额外的节点。

2)实现方式容易
服务器集群技术相对其他扩展技术来说更加容易实现,主要是通过软件进行的。在硬件上可以把多台性能较低、价格便宜的服务器,通过集群服务集中连接在一起即可实现整个服务器系统成倍,甚至几十、几百倍地增长。无论是从软硬件构成成本上来看,还是从技术实现成本上来看都较其他扩展方式低。

3)高可用性
使用集群服务拥有整个集群系统资源的所有权。如磁盘驱动器和IP地址将自动地从有故障的服务器上转移到可用的服务器上。当集群中的系统或应用程序出现故障时,集群软件将在可用的服务器上,重启失效的应用程序,或将失效节点上的工作分配到剩余的节点上。在切换过程中,用户只是觉得服务暂时停顿了一下。

4)易管理性
可以使用集群管理器来管理集群系统的所有服务器资源和应用程序,就像它们都运行在同一个服务器上一样。可以通过拖放集群对象,在集群里的不同服务器间移动应用程序,也可以通过同样的方式移动数据,还可以通过这种方式来手工地平衡服务器负荷、卸载服务器,从而方便地进行维护。同时,还可以从网络的任意地方的节点和资源处,监视集群的状态。当失效的服务器连回来时,将自动返回工作状态,集群技术将自动在集群中平衡负荷,而不需要入工干预。

为什么使用集群技术

2. 什么是集群?

集群主要分成三大类 (高可用集群, 负载均衡集群,科学计算集群)
高可用集群( High Availability Cluster)
负载均衡集群(Load Balance Cluster)
科学计算集群(High Performance Computing Cluster)

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




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

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

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





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



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



高性能计算分类: 



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

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

下面说说这几种集群的应用场景:

高可用集群这里不多作说明。

想Dubbo是比较偏向于负载均衡集群,用过的猿友应该知道(不知道的可以自行了解一下),Dubbo同一个服务是可以有多个提供者的,当一个消费者过来,它要消费那个提供者,这里是有负载均衡机制在里面的。

搜索引擎Elasticsearch比较偏向于科学计算集群的分布计算。

而到这里,可能不少猿友都知道,集群的一些术语:集群容错、负载均衡。

我们以Dubbo为例:
集群容错(http://dubbo.io/User+Guide-zh.htm#UserGuide-zh-%E9%9B%86%E7%BE%A4%E5%AE%B9%E9%94%99)

Dubbo提供了这些容错策略:
集群容错模式:
可以自行扩展集群容错策略,参见:集群扩展
Failover Cluster
失败自动切换,当出现失败,重试其它服务器。(缺省)
通常用于读操作,但重试会带来更长延迟。
可通过retries="2"来设置重试次数(不含第一次)。

Failfast Cluster
快速失败,只发起一次调用,失败立即报错。
通常用于非幂等性的写操作,比如新增记录。

Failsafe Cluster
失败安全,出现异常时,直接忽略。
通常用于写入审计日志等操作。

Failback Cluster
失败自动恢复,后台记录失败请求,定时重发。
通常用于消息通知操作。

Forking Cluster
并行调用多个服务器,只要一个成功即返回。
通常用于实时性要求较高的读操作,但需要浪费更多服务资源。

可通过forks="2"来设置最大并行数。

Broadcast Cluster
广播调用所有提供者,逐个调用,任意一台报错则报错。(2.1.0开始支持)
通常用于通知所有提供者更新缓存或日志等本地资源信息。


负载均衡(http://dubbo.io/User+Guide-zh.htm#UserGuide-zh-%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1)

Dubbo提供了这些负载均衡策略:

Random LoadBalance

随机,按权重设置随机概率。

在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重。

RoundRobin LoadBalance
轮循,按公约后的权重设置轮循比率。
存在慢的提供者累积请求问题,比如:第二台机器很慢,但没挂,当请求调到第二台时就卡在那,久而久之,所有请求都卡在调到第二台上。

LeastActive LoadBalance
最少活跃调用数,相同活跃数的随机,活跃数指调用前后计数差。
使慢的提供者收到更少请求,因为越慢的提供者的调用前后计数差会越大。

ConsistentHash LoadBalance
一致性Hash,相同参数的请求总是发到同一提供者。
当某一台提供者挂时,原本发往该提供者的请求,基于虚拟节点,平摊到其它提供者,不会引起剧烈变动。
算法参见:http://en.wikipedia.org/wiki/Consistent_hashing。

缺省只对第一个参数Hash,如果要修改,请配置

缺省用160份虚拟节点,如果要修改,请配置

3. 什么是集群

集群:一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群是一个独立的服务器。
集群配置是用于提高可用性和可缩放性。 和传统的高性能计算机技术相比,集群技术可以利用各档次的服务器作为节点,系统造价低,可以实现很高的运算速度,完成大运算量的计算,具有较高的响应能力,能够满足日益增长的信息服务的需求。
集群技术是一种通用的技术,其目的是为了解决单机运算能力的不足、IO能力的不足、提高服务的可靠性、获得规模可扩展能力,降低整体方案的运维成本。只要在其他技术不能达到以上的目的,或者虽然能够达到以上的目的,但是成本过高的情况下,就可以采用集群技术

什么是集群

4. 集群的关系

 1.中国几种数字集群技术中国主要应用的几种数字集群技术包括欧洲的TETRA,美国的iDEN,以及国内自主知识产权的GoTa和GT800。(1)TETRATETRA是由欧洲电信标准协会(ETSI)推荐的标准。TETRA系统是一个空中接口信令开放的系统,并大量借鉴了GSM的概念。它基于TDMA方式,在25kb/s带宽内分4个信道,采用较先进的ACELP语音编码方式和(π/4)QPSK数字调制技术。它支持连续覆盖和大区覆盖,并且支持脱网直通和端到端加密功能。TETRA系统在调度功能上是比较完善的,所以它非常适合做专网,尤其是军队、武警、公检法等单位。(2)iDENiDEN是由摩托罗拉公司推出的,它也采用TDMA制式,在25kHz的信道上分6个时隙(已经开发出25kHz带宽上分成12个时隙)。它的VSELP语音编码和16QAM调制技术都比较先进。iDEN系统的起源设计就是作共网用的,所以它是集指挥调度、双工互连、分组数据和短消息于一体的工作方式。iDEN系统是以调度为主的,又是根据公网考虑设计的系统,所以它的基本调度系统功能包括:组呼通话、私密通话、通话提示、来电显示。调度的先进功能包括:优先级、紧急呼叫、状态信息、多组扫描、区域限制、孤立站运行、调度台等。iDEN系统也有虚拟网功能,通过虚拟专网(VPN),最终用户可以管理其终端用户的终端配置,包括开户,增加新业务,更改调度私密号、组号、电话号码,重新编组以及随时取得详细通话清单和使用统计等。(3)GoTaGoTa(全球开放式集群架构)是由中兴公司自主研发,基于CDMA1X技术面向新技术演进的数字集群通信系统,目标是满足共网集群需要,兼顾专网集群应用。GoTa系统基于CDMA多址方式,它采用16QAM和QPSK的调制方式和QCELP语音编码技术,频分双工,上下行各1.25MHz带宽,间隔45MHz。GoTa的空中接口在cdma2000技术基础上进行了优化和改造,核心网采用独立的分组数据域,基于A8/A9和A10/A11标准接口,可以公开并标准化。GoTa具有一定的技术优势,解决了基于CDMA技术实现集群业务的关键技术。在处理通信连接时也采用了共享的方式,减少网络处理呼叫的时延。GoTa具有快速接入、高信道效率和频谱使用率、较高的用户私密性、易扩展和支持业务种类多等技术优点。在GoTa系统的设计中充分考虑了数字集群通信共网的特点,面向移动运营商开发设计,充分考虑了移动商务用户的需求,可以用一部终端将集群调度业务、普通语音业务、分组数据业务、众多增值业务(短信、定位)等多种通信服务集成于一个网络中。GoTa系统的灵活性高、性价比优异和功能全面等特征,为运营商开辟出更多的赢利空间。(4)GT800GT800系统是由华为公司研发的基于GSM技术的数字集群系统。GT800是基于GPRS和GSMR技术开发的系统,其第二阶段将与TD-SCDMA技术结合。华为公司研发GT800系统是面向国内数字集群市场需求,参考现有数字集群系统的业务特性,尤其是在快速呼叫、群组业务、优先级控制、安全保密、故障弱化方面进行了大量工作,可提供满足国内专业移动通信需求的完整集群调度业务。同时,为满足用户对高速数据业务的需求,GT800通过GPRS技术,实现可变速率的数据传输功能。GT800的第二阶段通过引入TD-SCDMA,进一步提供最高速率为2Mb/s的数据业务。GT800可以提供广泛的业务,包括基本通话、短信、集群调度、优先级抢占、快速接续以及基于位置的路由等,同时还提供基于GPRS的数据业务。GT800适合集群通信的共网运营,也适合民航、铁道、水利、市政、交通、建筑、抢险救灾、矿区等专业部门自建专网。2.3G网络的PoC业务 3G网络的PoC业务标准主要由OMA来制定,并基于3GPP和3GPP2的IMS网络架构。(1)PoC业务概念和业务特征PoC是一种双向、即时、多方通信方式,允许用户与一个或多个用户进行通信。该业务类似移动对讲业务——用户按键与某个用户通话或广播到一个群组的参与者那里,接收方收听到这个发言声音后,可以没有任何动作,例如不应答这个呼叫,或者在听到发送方声音之前,被通知并且必须接收该呼叫。在该初始语音完成后,其他参与者可以响应该语音消息。PoC通信是半双工的,每次最多只能有一个人发言,其他人接听。PoC的业务特性包括:●PoC群组可以是预先定义的,也可以是临时建立(Adhoc)方式的,或者类似聊天室的方式,用户自行加入聊天组。●用户通过请求发言权实现发言,发言权的控制有一套严格控制机制。●发言权由PoC业务实体授予,如果在一段时间(业务提供商设置)之后用户没有发言,发言权将会超时而失效。●PoC业务实体可以在其他被叫用户接受会话邀请之前,先给发起用户发送指示,如果没有用户接收到媒体流,PoC参与者可以获得提示。●PoC可以与互联网现有类似语音性质的业务进行交互,如在线游戏,包括音频功能的即时消息等。在PoC体系结构中,对用户的发言权控制是非常重要的概念。发言权控制主要是在用户平面来完成,基于RTP/RTCP,同时OMA又定义了RTCP的一种APP应用,称为TBCP协议,从而实现了PoC媒体流的分发和发言权的控制。对于会话的信令控制主要是应用SIP/SDP,实现SIP注册、路由和安全方面的管理,从而保证PoC会话的完成。(2)IMS对PoC的支持I MS对PoC的支持主要实现在PoC业务的注册和安全、SIP信令路由、SIP信令压缩、地址解析、对标识隐藏的管理以及计费等功能。在IMS的注册中,首先用户建立PDP上下文,通过GPRS请求或者DNS解析过程发现IMS中的P-CSCF。P-CSCF把注册请求转发给I-CSCF,通过I-CSCF问询HSS而找到S-CSCF。在S-CSCF中实现注册过程。在这个过程中PoC用户和S-CSCF通过AKA算法实现双方的认证和鉴权。当用户注册和鉴权成功后,PoC用户可以发起组呼请求。在会话邀请的SIP消息头Contact的Tag中添加“+g.poc.talkburst”或者“+g.poc.groupad”,从而标明这是一个PoC群组会话。P-CSCF把呼叫邀请转发给I-CSCF,问询归属的S-CSCF的地址,从而把邀请转发给S-CSCF。S-CSCF通过从HSS下载的iFC(初始过虑规则),根据业务触发点,把会话邀请转交给响应的PoCserver。PoCserver进行会话控制,并通过IMS把会话邀请转发给组内其他用户,在经过媒体授权和协商后,组呼可以建立。PoC业务的计费基于IMS的计费框架,可以根据事件计费、组会话计费、发言计费等。另外PoC业务还应用了IMS中的SIP信令压缩功能,信令压缩是为了节约链路资源,减少延时,在PoCClient和P-CSCF上实现SIP信令的压缩和解压缩。同时IMS还支持对其他用户或部分用户实现用户标识隐藏。另外,在IMS中考虑到PoC会话媒体承载响应时间和媒体QoS平衡,使用了SIP信令的QoS等级。 1.技术差异数字集群要求前后向资源共享,即在一个小区覆盖范围内所有同组集群用户共同占用一个无线和有线信道。一个信道承载的用户数对于集群手机数量是没有限制的,这样可以极大的增加资源的承载能力。单信道资源情况下,理论上可以支持无穷多个集群手机进行调度。而PoC中每一个用户要占用独立的无线和有线资源,也就意味着资源占用在业务实现时有多少用户进入组呼,就要占用多少信道资源,对于PTT来说要成倍地增加资源占用。如果只有一个无线信道,则PoC业务就不能提供,至少要提供2个无线信道才能保证一对一的PoC呼叫。2.关键指标差异数字集群和PoC最根本的差异就是其关键指标——接续时延的差异。PoC的接续时间一般都在2-3秒以上,有时候甚至达到10秒以上,如果用户较多、使用频率增加或网络信号较差,接续时间会更长。而数字集群的接续时间都被控制在1秒或者更短的时间之内,这也是数字集群一直没有被移动公网所取代的根本原因,也是其核心的竞争力。国外几种数字集群网络的时延指标都在1秒之内,一般的组建立时延400ms~700ms、PTT<300ms,一般一次组呼建立和维持时间分布在5-12s即结束,而PoC基本不能满足这种要求。3.市场定位不同数字集群的市场定位分为两种:一是专业用户市场,二是公众用户市场。专业的数字集群用户一般估计为移动用户的10%左右,按照中国3亿移动用户估算,也有3000万用户的数字集群市场空间。PoC业务面对的主要是个人用户,主导的语音和综合业务是其创造收入的主要来源,而语音和综合业务也是目前全球移动运营商面对竞争压力最大的业务。4.利润率不同首先,数字集群由于服务对象以政府、单位等集团客户为主,对于价格不是十分敏感;其次,专业的集群调度业务所产生的任何收入都是在几乎没有竞争下产生的,同时调度业务主要在网内实现,不存在网间结算成本;另外由于专业需要,产品的可取代性很低,这些用户的忠诚度很高,离网率很低,这些都为数字集群运营商节约一定的运营成本。而基于移动公网的PoC业务与运营商其他业务相比基本上都是雷同的,具有可取代的特点,所以PoC业务的经营活动和产品都面临市场的有力竞争,产品、业务价格不断下降,利润率不高,结算成本也占据了很大的比例,这些直接导致了产品、业务定价时必须考虑的承受底线。5.覆盖重点不同数字集群客户主要以工作为主,需要在工作区域进行有效覆盖,比如市区室外覆盖、工作区域的重点区域覆盖,同时对于农村等偏远区域集群用户基本上没有覆盖需要,数字集群的这种简单覆盖要求完全可以利用成熟的无线通信手段予以满足,比如所有的基站都支持大区制建网,这样就在很大程度上节约了系统投资,对于局部重点区域的覆盖手段也很成熟,如政府大楼,工厂总部等等,只需要较低的成本就能满足覆盖要求。对于突发情况带来的调度需求,通过孤立站运行和脱网直通就可以满足需要,但是这种情况比例极低。对于PoC业务来说由于用户的移动性很大,分布很广,可以说凡是有人存在的地方都需要进行覆盖,所以要求大量的网络投入,即使仅仅考虑基本的覆盖,粗略估计至少也是数字集群网络的2-4倍覆盖投入。6.容量需求不同根据市场占有率的分析,即使按照10%的比例进行考虑,足以说明数字集群对容量的要求不高,所以在建设数字集群网络初期的时候根本不必考虑容量的压力,可以理解为在容量上数字集群系统只需要移动公网10%的容量资源,就可以正常运行并满足数字集群用户的容量要求,这对于建设一个数字集群网来说无疑是一大优势。而对于PoC业务来说,为了保证容量需求,移动运营商不得不使用小区制规划建网,通过降低基站发射功率,下调俯仰角,降低基站天线高度等方式,增加基站密度,提高区域用户容量。

5. 如何实现集群技术

1)强扩展能力
其他扩展技术,通常仅能支持儿十个CPU 的扩展,扩展能力有限。而采用集群技术的集群系统则可以扩展到包括成百上千个CPU的多台服务穗,扩展能力具有明显优势。集群服务还可不断进行调整,以满足不断增长的应用需求。当集群的整体负荷超过集群的实际能力时,还可以添加额外的节点。

2)实现方式容易
服务器集群技术相对其他扩展技术来说更加容易实现,主要是通过软件进行的。在硬件上可以把多台性能较低、价格便宜的服务器,通过集群服务集中连接在一起即可实现整个服务器系统成倍,甚至几十、几百倍地增长。无论是从软硬件构成成本上来看,还是从技术实现成本上来看都较其他扩展方式低。

3)高可用性
使用集群服务拥有整个集群系统资源的所有权。如磁盘驱动器和IP地址将自动地从有故障的服务器上转移到可用的服务器上。当集群中的系统或应用程序出现故障时,集群软件将在可用的服务器上,重启失效的应用程序,或将失效节点上的工作分配到剩余的节点上。在切换过程中,用户只是觉得服务暂时停顿了一下。

4)易管理性
可以使用集群管理器来管理集群系统的所有服务器资源和应用程序,就像它们都运行在同一个服务器上一样。可以通过拖放集群对象,在集群里的不同服务器间移动应用程序,也可以通过同样的方式移动数据,还可以通过这种方式来手工地平衡服务器负荷、卸载服务器,从而方便地进行维护。同时,还可以从网络的任意地方的节点和资源处,监视集群的状态。当失效的服务器连回来时,将自动返回工作状态,集群技术将自动在集群中平衡负荷,而不需要入工干预。

如何实现集群技术

6. 集群技术的系统结构

根据典型的集群体系结构,集群中涉及到的关键技术可以归属于四个层次:(1)网络层:网络互联结构、通信协议、信号技术等。(2)节点机及操作系统层高性能客户机、分层或基于微内核的操作系统等。(3)集群系统管理层:资源管理、资源调度、负载平衡、并行IPO、安全等。(4)应用层:并行程序开发环境、串行应用、并行应用等。集群技术是以上四个层次的有机结合,所有的相关技术虽然解决的问题不同,但都有其不可或缺的重要性。集群系统管理层是集群系统所特有的功能与技术的体现。在未来按需(On Demand)计算的时代,每个集群都应成为业务网格中的一个节点,所以自治性(自我保护、自我配置、自我优化、自我治疗)也将成为集群的一个重要特征。自治性的实现,各种应用的开发与运行,大部分直接依赖于集群的系统管理层。此外,系统管理层的完善程度,决定着集群系统的易用性、稳定性、可扩展性等诸多关键参数。正是集群管理系统将多台机器组织起来,使之可以被称为“集群”。

7. 集群技术的区别

模拟集群与数字集群不同的地方,说简单点就是:模拟集群在单信道比数字对讲机用户容量要小,语音没有数字对讲机清楚,只能实现简单的数据功能。数字集群分TDMA和FDMA两种,TDMA是提供给专业用户使用的,是时分的制式。FDMA是提供给民用的,是频分的制式。FDMA和模拟对讲机相比,除了可以把信道间隔做得更窄(模拟的是25KHz,数字的是12.5KHz两时隙或6.25KHz四时隙),单信道用户量更大外,对用户来说并没有太大的更新体验。TDMA制式的对讲机和模拟对讲机相比,除了单信道用户容量更大外,还可以现实同频中转。模拟系统中,要实现中转,必须要有收、发频率一对。而在TDMA时分数字系统中,可利用数字技术,通过时隙的转换来实现中转。例如:当中转台收到A时隙的数据时,同时转发出去的数据就是在B时隙上实现的。现在在中国还没有自己的数字对讲机标准。现在MOTOROLA的数字对讲机是TDMA制式的,ICOM和建伍的数字对讲机是FDMA制式的。

集群技术的区别

8. 服务器的集群架构分布式架构有什么区别?

服务器集群:
服务器集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器。集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行。
服务器负载均衡:
负载均衡
(Load
Balancing)
建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
分布式服务器:
所谓分布式资源共享服务器就是指数据和程序可以不位于一个服务器上,而是分散到多个服务器,以网络上分散分布的地理信息数据及受其影响的数据库操作为研究对象的一种理论计算模型服务器形式。分布式有利于任务在整个计算机系统上进行分配与优化,克服了传统集中式系统会导致中心主机资源紧张与响应瓶颈的缺陷,解决了网络GIS
中存在的数据异构、数据共享、运算复杂等问题,是地理信息系统技术的一大进步。
这个三种架构都是常见的服务器架构,集群的主要是IT公司在做,可以保障重要数据安全;负载均衡主要是为了分担访问量,避免临时的网络堵塞,主要用于电子商务类型的网站;分布式服务器主要是解决跨区域,多个单个节点达到高速访问的目前,一般是类似CDN的用途的话,会采用分布式服务器。
纯手工打字,希望可以帮的到你!
最新文章
热门文章
推荐阅读