集群的速率
⑴ “分布式”与“集群”的区别是什么
(1)另外一位博主的观点(http://blog.csdn.net/bluishglc/article/details/5483162)
博主有对他的表述有作一点修改补充,方便各位猿友明了他的意思。
简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。
例如:
如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行改任务需10小时。
采用分布式方案,提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。(这种工作模式的一个典型代表就是Hadoop的Map/Rece分布式计算模型)
而采用集群方案,同样提供10台服务器,每台服务器都能独立处理这个任务。假设有10个任务同时到达,10个服务器将同时工作,10小后,10个任务同时完成,这样,整身来看,还是平均1小时完成一个任务!(注意这里的任务和子任务的区别)
(2)知乎(https://www.hu.com/question/20004877)
这个猿友描述得很简单明了:
分布式:一个业务分拆多个子业务,部署在不同的服务器上
集群:同一个业务,部署在多个服务器上
另外一位猿友从另外一个角度去表述:
集群是个物理形态,分布式是个工作方式。
这位猿友的描述也很简洁,但是比较抽象:
按照我的理解,集群是解决高可用的,而分布式是解决高性能、高并发的
(3)网络(http://ke..com/view/4804677.htm、http://ke..com/view/3022776.htm)
集群:
集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高可用性和可缩放性。
分布式:
一种基于网络的计算机处理技术,与集中式相对应。由于个人计算机的性能得到极大的提高及其使用的普及,使处理能力分布到网络上的所有计算机成为可能。分布式计算是和集中式计算相对立的概念,分布式计算的数据可以分布在很大区域。
看完这些是不是有种似懂非懂的感觉?博主也是一样!所以我们接下来继续了解。
上面博主有说过自己有接触过分布式服务框架Dubbo,那么我们看看它为什么说自己是分布式服务架构?(http://bbo.io/User+Guide-zh.htm#UserGuide-zh-%E8%83%8C%E6%99%AF)
分布式服务架构
当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。
此时,用于提高业务复用及整合的 分布式服务框架(RPC) 是关键。
偶然之间,有发现据说“Git就是分布式版本控制系统”,为什么它是分布式的呢?
Git就是分布式版本控制系统,对应的是集中式的版本控制如SVN。简单的说,分布式的版本控制就是每个人都可以创建一个独立的代码仓库用于管理,各种版本控制的操作都可以在本地完成。每个人修改的代码都可以推送合并到另外一个代码仓库中。而像SVN这样,只有一个中央控制,所有的开发人员都必须依赖于这个代码仓库。每次版本控制的操作也必须链接到服务器才能完成。很多公司喜欢用集中式的版本控制是为了更好的控制代码。如果个人开发,就可以选择Git这种分布式的。
从一般开发者的角度来看,git有以下功能:
1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。
2、在自己的机器上根据不同的开发目的,创建分支,修改代码。
3、在单机上自己创建的分支上提交代码。
4、在单机上合并分支。
5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
6、生成补丁(patch),把补丁发送给主开发者。
7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。
看了分布式服务框架Dubbo和分布式版本控制系统Git的这些描述后,细想一下,似乎和上面的“分布式:一个业务分拆多个子业务,部署在不同的服务器上,集群:同一个业务,部署在多个服务器上”的观点些相似。
Dubbo将核心业务抽取出来,作为独立的服务模块,各个模块之间只需要依赖接口,接口实现分离,那么开发人员可以各自完成自己负责的服务模块,最后完成一个完整的系统。他们的目标是完成一个系统,而各个子服务模块相当于子业务。Git也类似。
事实上,分布式很多时候都开不了集群的,在Dubbo、Hadoop、Elasticsearch都有体现。
现在分布式概念可能我们相对比较清晰了,集群概念可能还比较模糊。另外,集群是如何跟分布式配合的呢,接下来我们继续了解集群。
集群主要分成三大类 (高可用集群, 负载均衡集群,科学计算集群)
高可用集群( 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://bbo.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://bbo.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,如果要修改,请配置<bbo:parameter key="hash.arguments" value="0,1" />
缺省用160份虚拟节点,如果要修改,请配置<bbo:parameter key="hash.nodes" value="320" />
还有比较好奇它们是怎么通信的?
像早期版本的Elasticsearch的话,自动发现节点机制,ES是一个基于p2p的系统,它先通过广播寻找存在的节点,再通过多播协议来进行节点之间的通信,同时也支持点对点的交互。
而Dubbo是有个注册中心,它支持多个注册中心,但是推荐使用ZooKeeper。关于ZooKeeper可以自行了解,很多集群相关的框架都有使用到它。当然像Elasticsearch是自己有相应的机制实现的。
⑵ nginx 集群tomcat 速度降下来了
多年经验来看,实际上,nginx 集群产生的速度下降问题,可以忽略不计。
你应该检查一下nginx中的配置文件中的转发规则,尽量使用优先级较高的匹配规则。(相关优先度请找度娘)
同时,你也要检查一下,由于使用了集群tomcat,那么多个tomcat同时运行,是否对服务器内存和CPU增加了更多压力,还有数据库压力。
另外,如果都是独立服务器,集群的服务器最好是处于同一个机房里。检查nginx服务器与各个tomcat服务器之间的ping值。
⑶ rac节点间最大传输数据速率是多少
rac节点间最大传输数据速率达到80M。
RAC,全称real application clusters,译为“实时应用集群”, 是Oracle新版数据库中采用的一项新技术,是高可用性的一种,也是Oracle数据库支持网格计算环境的核心技术。
Oracle RAC
RAC提供的优缺点
优点
Oracle RAC主要支持Oracle9i、10g、11g版本,可以支持24 x 7 有效的数据库应用系统,在低成本服务器上构建高可用性数据库系统,并且自由部署应用,无需修改代码。在Oracle RAC环境下,Oracle集成提供了集群软件和存储管理软件,为用户降低了应用成本。当应用规模需要扩充时,用户可以按需扩展系统,以保证系统的性能。
(1)多节点负载均衡;
(2)提供高可用:故障容错和无缝切换功能,将硬件和软件错误造成的影响最小化;
(3)通过并行执行技术提高事务响应时间----通常用于数据分析系统;
(4)通过横向扩展提高每秒交易数和连接数----通常对于联机事务系统;
(5)节约硬件成本,可以用多个廉价PC服务器代替昂贵的小型机或大型机,同时节约相应维护成本;
(6)可扩展性好,可以方便添加删除节点,扩展硬件资源。
缺点
(1)相对单机,管理更复杂,要求更高;
(2)在系统规划设计较差时性能甚至不如单节点;
(3)可能会增加软件成本(如果使用高配置的pc服务器,Oracle一般按照CPU个数收费)。
在Oracle9i之前,RAC的名称是OPS (Oracle parallel Server)。RAC 与 OPS 之间的一个较大区别是,RAC采用了Cache Fusion(高速缓存合并)技术。在 OPS 中,节点间的数据请求需要先将数据写入磁盘,然后发出请求的节点才可以读取该数据。使用Cache fusion时,RAC的各个节点的数据缓冲区通过高速、低延迟的内部网络进行数据块的传输。
⑷ hadoop balancer会影响集群的速度吗
肯定会,blancer主要占用集群的IO比较多,刚好Hadoop数据读写都比较依赖集群的IO。所以肯定会影响集群速度。
⑸ Hadoop集群和单机下读取文件的速度是一样的吗
如果是大文件并且集群模式,hadoop会处理多个dn上的并行读,会快。
⑹ 集群的关系
1.中国几种数字集群技术
中国主要应用的几种数字集群技术包括欧洲的TETRA,美国的iDEN,以及国内自主知识产权的GoTa和GT800。
(1)TETRA
TETRA是由欧洲电信标准协会(ETSI)推荐的标准。TETRA系统是一个空中接口信令开放的系统,并大量借鉴了GSM的概念。它基于TDMA方式,在25kb/s带宽内分4个信道,采用较先进的ACELP语音编码方式和(π/4)QPSK数字调制技术。它支持连续覆盖和大区覆盖,并且支持脱网直通和端到端加密功能。TETRA系统在调度功能上是比较完善的,所以它非常适合做专网,尤其是军队、武警、公检法等单位。
(2)iDEN
iDEN是由摩托罗拉公司推出的,它也采用TDMA制式,在25kHz的信道上分6个时隙(已经开发出25kHz带宽上分成12个时隙)。它的VSELP语音编码和16QAM调制技术都比较先进。iDEN系统的起源设计就是作共网用的,所以它是集指挥调度、双工互连、分组数据和短消息于一体的工作方式。
iDEN系统是以调度为主的,又是根据公网考虑设计的系统,所以它的基本调度系统功能包括:组呼通话、私密通话、通话提示、来电显示。调度的先进功能包括:优先级、紧急呼叫、状态信息、多组扫描、区域限制、孤立站运行、调度台等。iDEN系统也有虚拟网功能,通过虚拟专网(VPN),最终用户可以管理其终端用户的终端配置,包括开户,增加新业务,更改调度私密号、组号、电话号码,重新编组以及随时取得详细通话清单和使用统计等。
(3)GoTa
GoTa(全球开放式集群架构)是由中兴公司自主研发,基于CDMA1X技术面向新技术演进的数字集群通信系统,目标是满足共网集群需要,兼顾专网集群应用。
GoTa系统基于CDMA多址方式,它采用16QAM和QPSK的调制方式和QCELP语音编码技术,频分双工,上下行各1.25MHz带宽,间隔45MHz。GoTa的空中接口在cdma2000技术基础上进行了优化和改造,核心网采用独立的分组数据域,基于A8/A9和A10/A11标准接口,可以公开并标准化。
GoTa具有一定的技术优势,解决了基于CDMA技术实现集群业务的关键技术。在处理通信连接时也采用了共享的方式,减少网络处理呼叫的时延。GoTa具有快速接入、高信道效率和频谱使用率、较高的用户私密性、易扩展和支持业务种类多等技术优点。
在GoTa系统的设计中充分考虑了数字集群通信共网的特点,面向移动运营商开发设计,充分考虑了移动商务用户的需求,可以用一部终端将集群调度业务、普通语音业务、分组数据业务、众多增值业务(短信、定位)等多种通信服务集成于一个网络中。GoTa系统的灵活性高、性价比优异和功能全面等特征,为运营商开辟出更多的赢利空间。
(4)GT800
GT800系统是由华为公司研发的基于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业务来说,为了保证容量需求,移动运营商不得不使用小区制规划建网,通过降低基站发射功率,下调俯仰角,降低基站天线高度等方式,增加基站密度,提高区域用户容量。
⑺ 计算机集群能提升日常的程序运行速度吗
集群就是多个机器联合处理请求,如果是单线的任务,采用集群应该不能提内升,同时你要计算容负载平衡,反而还浪费时间,但多线程或并行的任务,如果均衡算法做的好,能显著提升处理速度。比如你说的IE,你要同时打开多个页面,后台处理多个任务,则可以使用集群提高。
⑻ 分布式与集群的区别是什么
简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。
例如:
如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行改任务需10小时。
采用分布式方案,提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。(这种工作模式的一个典型代表就是Hadoop的Map/Rece分布式计算模型)
而采用集群方案,同样提供10台服务器,每台服务器都能独立处理这个任务。假设有10个任务同时到达,10个服务器将同时工作,10小后,10个任务同时完成,这样,整身来看,还是1小时内完成一个任务!
以下是摘抄自网络文章:
一、集群概念
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 类集群....)
三、详细介绍
1. 高可用集群(High Availability Cluster)
常见的就是2个节点做成的HA集群,有很多通俗的不科学的名称,比如"双机热备","双机互备","双机"。
高可用集群解决的是保障用户的应用程序持续对外提供服务的能力。 (请注意高可用集群既不是用来保护业务数据的,保护的是用户的业务程序对外不间断提供服务,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度)。
2. 负载均衡集群(Load Balance Cluster)
负载均衡系统:集群中所有的节点都处于活动状态,它们分摊系统的工作负载。一般Web服务器集群、数据库集群和应用服务器集群都属于这种类型。
负载均衡集群一般用于相应网络请求的网页服务器,数据库服务器。这种集群可以在接到请求时,检查接受请求较少,不繁忙的服务器,并把请求转到这些服务器上。从检查其他服务器状态这一点上看,负载均衡和容错集群很接近,不同之处是数量上更多。
3. 科学计算集群(High Performance Computing Cluster)
高性能计算(High Perfermance Computing)集群,简称HPC集群。这类集群致力于提供单个计算机所不能提供的强大的计算能力。
3.1 高性能计算分类
3.1.1 高吞吐计算(High-throughput Computing)
有一类高性能计算,可以把它分成若干可以并行的子任务,而且各个子任务彼此间没有什么关联。象在家搜寻外星人( SETI@HOME -- Search for Extraterrestrial Intelligence at Home )就是这一类型应用。这一项目是利用Internet上的闲置的计算资源来搜寻外星人。SETI项目的服务器将一组数据和数据模式发给Internet上参加SETI的计算节点,计算节点在给定的数据上用给定的模式进行搜索,然后将搜索的结果发给服务器。服务器负责将从各个计算节点返回的数据汇集成完整的 数据。因为这种类型应用的一个共同特征是在海量数据上搜索某些模式,所以把这类计算称为高吞吐计算。所谓的Internet计算都属于这一类。按照 Flynn的分类,高吞吐计算属于SIMD(Single Instruction/Multiple Data)的范畴。
3.1.2 分布计算(Distributed Computing)
另一类计算刚好和高吞吐计算相反,它们虽然可以给分成若干并行的子任务,但是子任务间联系很紧密,需要大量的数据交换。按照Flynn的分类,分布式的高性能计算属于MIMD(Multiple Instruction/Multiple Data)的范畴。
四、分布式(集群)与集群的联系与区别
分布式是指将不同的业务分布在不同的地方;而集群指的是将几台服务器集中在一起,实现同一业务。
分布式中的每一个节点,都可以做集群。 而集群并不一定就是分布式的。
举例:就比如新浪网,访问的人多了,他可以做一个群集,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就将给哪一台去完成。
而分布式,从窄意上理解,也跟集群差不多, 但是它的组织比较松散,不像集群,有一个组织性,一台服务器垮了,其它的服务器可以顶上来。
分布式的每一个节点,都完成不同的业务,一个节点垮了,那这个业务就不可访问了。
⑼ hadoop集群速度忽然变得很慢,为什么
里假设集群中有slave1,抄slave2,slave3三个节点,其中slave3工作效率低。
一共有6个任务,需要去做,slave1和slave2执行一个任务是1分钟,slave3执行一个任务是2分钟。有一个前提是每个slave完成自身的任务才回去推测执行。
如果让slave1和slave2去做,则需要3分钟,分析如下:
slave1 slave2
3 3
3*1 3*1
并行执行总时间就是单个slave的执行时间3;
那么三台同时去做需要4分钟。
slave1 slave2 slave3
2 2 2
这里slave1和slave2都完成了自身的任务,已经花费了2分钟,剩下最后一个任务考虑到数据的本地性也分给了slave3,slave3执行时间超过一分钟时,jobtracker会觉得slave3可能没有能力完成分配给他的任务,假设在slave1上推测执行,结果slave3结束了,就将运行在slave1上的推测执行任务kill掉,最后执行时间是4秒。
因为在推测执行的时候会两个推测执行的任务会同时完成。
⑽ 集群和负载均衡还有F5到底有什么区别,都指的是什么
简单地说,
负载均衡是一种 IT设备,它提供了一种廉价有效透明的方法扩展网内络设备和服务器容的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性,
集群是一种部署方式,将多台负载均衡以集群方式部署来提高冗余性,
像F5,Array等是负载均衡等IT设备的生产商。