“分布式”与“集群”的区别是什么?

“分布式”与“集群”的区别是什么?,第1张

简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。
例如:
如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行改任务需10小时。
采用分布式方案,提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。(这种工作模式的一个典型代表就是Hadoop的Map/Reduce分布式计算模型)
而采用集群方案,同样提供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集群。这类集群致力于提供单个计算机所不能提供的强大的计算能力。
31 高性能计算分类 
311 高吞吐计算(High-throughput Computing)
有一类高性能计算,可以把它分成若干可以并行的子任务,而且各个子任务彼此间没有什么关联。象在家搜寻外星人( SETI@HOME -- Search for Extraterrestrial Intelligence at Home )就是这一类型应用。这一项目是利用Internet上的闲置的计算资源来搜寻外星人。SETI项目的服务器将一组数据和数据模式发给Internet上参加SETI的计算节点,计算节点在给定的数据上用给定的模式进行搜索,然后将搜索的结果发给服务器。服务器负责将从各个计算节点返回的数据汇集成完整的 数据。因为这种类型应用的一个共同特征是在海量数据上搜索某些模式,所以把这类计算称为高吞吐计算。所谓的Internet计算都属于这一类。按照 Flynn的分类,高吞吐计算属于SIMD(Single Instruction/Multiple Data)的范畴。
312 分布计算(Distributed Computing)
另一类计算刚好和高吞吐计算相反,它们虽然可以给分成若干并行的子任务,但是子任务间联系很紧密,需要大量的数据交换。按照Flynn的分类,分布式的高性能计算属于MIMD(Multiple Instruction/Multiple Data)的范畴。
四、分布式(集群)与集群的联系与区别
分布式是指将不同的业务分布在不同的地方;而集群指的是将几台服务器集中在一起,实现同一业务。
分布式中的每一个节点,都可以做集群。 而集群并不一定就是分布式的。
举例:就比如新浪网,访问的人多了,他可以做一个群集,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就将给哪一台去完成。
而分布式,从窄意上理解,也跟集群差不多, 但是它的组织比较松散,不像集群,有一个组织性,一台服务器垮了,其它的服务器可以顶上来。
分布式的每一个节点,都完成不同的业务,一个节点垮了,那这个业务就不可访问了。

Kafka is a distributed,partitioned,replicated commit logservice。它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现。kafka对消息保存时根据Topic进行归类,发送消息者成为Producer,消息接受者成为Consumer,此外kafka集群有多个kafka实例组成,每个实例(server)成为broker。无论是kafka集群,还是producer和consumer都依赖于zookeeper来保证系统可用性集群保存一些meta信息。
入门请参照: >2003的方案很简明:前端服务器作NLB群集,后端做故障转移群集~~它又分为主动/主动和主动/被动两种,一般推荐做主动/被动的
主动/被动故障转移群集的配置大致步骤是:先构建windows群集,再将exchange存储服务指定给群集托管
构建windows群集时需要在你的环境中配置一个外置的共享存储,群集中的成员服务器必须都和这个外置存储连接,一般用RAID实现,通常会做一个RAID5(放数据库)做一个RAID1(放群集的仲裁),配置时将exchange的数据库放在外置存储的RAID5上,这样一来RAID5能提供存储级别的冗余,二来一旦主服务器宕机而它的服务自动转移给辅助服务器来实现时,辅助由于和主的使用的是同一数据库,因此不会由于故障产生数据丢失,也不会因为要同步数据库延长不可用时间这样就能实现你的需求了~~

市面上存在两种数据库负载均衡的思路:1

基于数据库连接的负载均衡:例如总共有100个数据库连接,50个连接登录到数据库机器A,另外50个连接登录到数据库机器B,这样每个连接中接下来的所有请求全都是发往同一台数据库机器的

这种数据库负载均衡的思路模拟了WEB上的负载均衡方法,但是由于WEB连接是短时间连接(连接建立后,获取需要的HTML等资源后,连接马上被关闭),而数据库连接是长时间连接(连接建立后,可长时间保持,客户可不停向数据库发送SQL请求,数据库做出回答,如此不断循环直到连接被人为或因错而断开为止),因此这种数据库负载均衡思路存在着明显的缺点:有可能会发生绝大部分的请求压力都集中到某台数据库机器上去,从而使得负载均衡效果失效

2

基于批处理请求的负载均衡:在建立数据库连接的时候,会同时与每台数据库服务器建立连接,之后针对客户端的每次请求,都会根据负载均衡算法,独立地选出某个数据库节点来执行这个请求

此种思路符合数据库长时间连接的特征,不存在上面所述的基于连接的负载均衡方法的缺点

市面上的负载均衡厂商,既有基于连接的,也有基于批处理请求的,用户需仔细辨别才能找到自己想要的合适产品

通俗的理解是,云计算的“云“就是存在于互联网上的服务器集群上的资源,它包括硬件资源(服务器、存储器、CPU等)和软件资源(如应用软件、集成开发环境等),本地计算机只需要通过互联网发送一个需求信息,远端就会有成千上万的计算机为你提供需要的资源并将结果返回到本地计算机,这样,本地计算机几乎不需要做什么,所有的处理都在云计算提供商所提供的计算机群来完成。

狭义的云计算指的是厂商通过分布式计算和虚拟化技术搭建数据中心或超级计算机,以免费或按需租用方式向技术开发者或者企业客户提供数据存储、分析以及科学计算等服务,比如亚马逊数据仓库出租生意。

广义的云计算指厂商通过建立网络服务器集群,向各种不同类型客户提供在线软件服务、硬件租借、数据存储、计算分析等不同类型的服务。广义的云计算包括了更多的厂商和服务类型,例如国内用友、金蝶等管理软件厂商推出的在线财务软件,谷歌发布的Google应用程序套装等。

应用:

1、云物联

“物联网就是物物相连的互联网”。这有两层意思:第一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;第二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信。

物联网的两种业务模式:MAI(M2M Application Integration), 内部MaaS;MaaS(M2M As A Service), MMO, Multi-Tenants(多租户模型)。

云计算:从计算中心到数据中心在物联网的初级阶段,PoP即可满足需求;在物联网高级阶段,可能出现MVNO/MMO营运商(国外已存在多年),需要虚拟化云计算技术,SOA等技术的结合实现互联网的泛在服务:TaaS (everyTHING As A Service)。

2、云安全

“云安全”通过网状的大量客户端对网络中软件行为的异常监测,获取互联网中木马、恶意程序的最新信息,推送到Server端进行自动分析和处理,再把病毒和木马的解决方案分发到每一个客户端。

扩展资料

云计算技术具有以下特点:

1、可靠性较强

云计算技术主要是通过冗余方式进行数据处理服务。在大量计算机机组存在的情况下,会让系统中所出现的错误越来越多,而通过采取冗余方式则能够降低错误出现的概率,同时保证了数据的可靠性。

2、服务性

从广义角度上来看,云计算本质上是一种数字化服务,同时这种服务较以往的计算机服务更具有便捷性,用户在不清楚云计算具体机制的情况下,就能够得到相应的服务。

3、可用性高

云计算技术具有很高的可用性。在储存上和计算能力上,云计算技术相比以往的计算机技术具有更高的服务质量,同时在节点检测上也能做到智能检测,在排除问题的同时不会对系统带来任何影响。

4、经济性

云计算平台的构建费用与超级计算机的构建费用相比要低很多,但是在性能上基本持平,这使得开发成本能够得到极大的节约。

5、多样性服务

用户在服务选择上将具有更大的空间,通过缴纳不同的费用来获取不同层次的服务。

6、编程便利性

云计算平台能够为用户提供良好的编程模型,用户可以根据自己的需要进行程序制作,这样便为用户提供了巨大的便利性,同时也节约了相应的开发资源。

参考资料百度百科-云计算 

就像冗余部件可以使你免于硬件故障一样,群集技术则可以使你免于整个系统的瘫痪以及 *** 作系统和应用层次的故障。一台服务器集群包含多台拥有共享数据存储空间的服务器,各服务器之间通过内部局域网进行互相连接;当其中一台服务器发生故障时,它所运行的应用程序将与之相连的服务器自动接管;在大多数情况下,集群中所有的计算机都拥有一个共同的名称,集群系统内任意一台服务器都可被所有的网络用户所使用。一般而言,群集和高可用性结合的服务器可将运行提升至9999%。群集技术不仅仅能够提供更长的运行时间,它在尽可能地减少与既定停机有关的停机时间方面同样有着重要意义。例如,如果使用群集,你可以在关闭一台服务器的同时,不用与用户断开即可进行应用,硬件, *** 作系统的"流动升级"。集群系统通过功能整合和故障过渡技术实现系统的高可用性和高可靠性,集群技术还能够提供相对低廉的总体拥有成本和强大灵活的系统扩充能力。
随着计算机技术的发展和越来越广泛的应用,越来越多的依赖于计算机技术的应用系统走进了我们的工作和生活。在给我们带来方便和效率的同时,也使得各行各业对于计算机技术的依赖程度越来越高。尽管随着计算机技术以日新月异的速度发展,单台计算机的性能和可靠性越来越好,但还是有许多现实的要求是单台计算机难以达到的。
高可用性集群,英文原文为High Availability Cluster, 简称HA Cluster,是指以减少服务中断(宕机)时间为目的的服务器集群技术。
随着全球经济的增长,世界各地各种各样的组织对IT系统的依赖都在不断增加,电子贸易使得商务一周七天24小时不间断的进行成为了可能。新的强大的应用程序使得商业和社会机构对日常 *** 作的计算机化要求达到了空前的程度,趋势非常明显,我们无时无刻不依赖于稳定的计算机系统。
这种需求极速的增长,使得对系统可用性的要求变得非常重要,许多公司和组织的业务在很大程度上都依赖于计算机系统,任何的宕机都会造成严重的损失,关键IT系统的故障可能很快造成整个商业运作的瘫痪,每一分钟的宕机都意味着收入、生产和利润的损失,甚至于市场地位的削弱。

什么是冗余
冗余,指重复配置系统的一些部件,当系统发生故障时,冗余配置的部件介入并承担故障部件的工作,由此减少系统的故障时间 Redundant,自动备援,即当某一设备发生损坏时,它可以自动作为后备式设备替代该设备
冗余系统配件主要有:
电源:高端服务器产品中普遍采用双电源系统,这两个电源是负载均衡的,即在系统工作时它们都为系统提供电力,当一个电源出现故障时,另一个电源就承担所有的负载。有些服务器系统实现了DC的冗余,另一些服务器产品如 Micron公司的NetFRAME 9000实现了AC、DC的全冗余。 存储子系统:存储子系统是整个服务器系统中最容易发生故障的地方。以下几种方法可以实现该系统的冗余。 磁盘镜像:将相同的数据分别写入两个磁盘中: 磁盘双联:为镜像磁盘增加了一个I/O控制器,就形成了磁盘双联,使总线争用情况得到改善; RAID:廉价冗余磁盘阵列(Redundant array of inexpensive disks)的缩写。顾名思义,它由几个磁盘组成,通过一个控制器协调运动机制使单个数据流依次写入这几个磁盘中。RAID3系统由5个磁盘构成,其中4 个磁盘存储数据,1个磁盘存储校验信息。如果一个磁盘发生故障,可以在线更换故障盘,并通过另3个磁盘和校验盘重新创建新盘上的数据。RAID5将校验信息分布在5个磁盘上,这样可更换任一磁盘,其余与RAID3相同。 I/O卡:对服务器来说,主要指网卡和硬盘控制卡的冗余。网卡冗余是在服务器中插上双网卡。冗余网卡技术原为大型机及中型机上的技术,现在也逐渐被PC服务器所拥有。PC服务器如 Micron公司的NetFRAME9200最多实现4个网卡的冗余,这4个网卡各承担25%的网络流量。康柏公司的所有 ProSignia/Proliant服务器都具有容错冗余双网卡。 PCI总线:代表Micron公司最高技术水平的产品NetFRAME 9200采用三重对等PCI技术,优化PCI总线的带宽,提升硬盘、网卡等高速设备的数据传输速度。 CPU:系统中主处理器并不会经常出现故障,但对称多处理器(SMP)能让多个CPU分担工作以提供某种程度的容错。
循环冗余检查
循环冗余检查(Cyclical Redundancy Check),就是在每个数据块(称之为帧)中加入一个FCS(Frame CheckSequence,帧检查序列)。FCS包含了帧的详细信息,专门用于发送/接收装置比较帧的正确与否。如果数据有误,则再次发送。 是一种数据传输检错功能,对数据进行多项式计算,在每个数据块(称之为帧)中加入一个FCS(Frame Check Sequence 帧检查序列)并将得到的结果附在帧的后面,FCS包含了帧的详细信息,专门用于发送/接收装置比较帧的正确与否。接收设备也执行类似的算法,以保证数据传输的正确性和完整性。若CRC校验不通过,系统重复向硬盘复制数据,陷入死循环,导致复制过程无法完成。 [1]冗余可以理解为备用 多次(多处)储存相同的数据

网络的负载均衡是一种动态均衡技术,通过一些工具实时地分析数据包,掌握网络中的数据流量状况,把任务合理均衡地分配出去。这种技术基于现有网络结构,提供了一种扩展服务器带宽和增加服务器吞吐量的廉价有效的方法,加强了网络数据处理能力,提高了网络的灵活性和可用性。
以四台服务器为例实现负载均衡:
安装配置LVS
1 安装前准备:
(1)首先说明,LVS并不要求集群中的服务器规格划一,相反,可以根据服务器的不同配置和负载状况,调整负载分配策略,充分利用集群环境中的每一台服务器。如下表:
Srv Eth0 Eth0:0 Eth1 Eth1:0
vs1 10001 10002 192168101 19216810254
vsbak 10003 19216810102
real1 19216810100
real2 19216810101
其中,10002是允许用户访问的IP。
(2)这4台服务器中,vs1作为虚拟服务器(即负载平衡服务器),负责将用户的访问请求转发到集群内部的real1,real2,然后由real1,real2分别处理。
Client为客户端测试机器,可以为任意 *** 作系统。
(3)所有OS为redhat62,其中vs1 和vsbak 的核心是2219, 而且patch过ipvs的包, 所有real
server的Subnet mask 都是24位, vs1和vsbak 的1000 网段是24 位。
2理解LVS中的相关术语
(1) ipvsadm :ipvsadm是LVS的一个用户界面。在负载均衡器上编译、安装ipvsadm。
(2) 调度算法: LVS的负载均衡器有以下几种调度规则:Round-robin,简称rr;weighted
Round-robin,简称wrr;每个新的连接被轮流指派到每个物理服务器。Least-connected,简称lc;weighted
Least-connected,简称wlc,每个新的连接被分配到负担最小的服务器。
(3) Persistent client
connection,简称pcc,(持续的客户端连接,内核2210版以后才支持)。所有来自同一个IP的客户端将一直连接到同一个物理服务器。超时时间被设置为360秒。Pcc是为>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12847430.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存