分布式与集群

一直听说过分布式由于找工作需要所以学习,都知道有分布式集群(Hdoop)、分布式存储(GFS,NFS)、分布式数据库(Hbase,redis,memcaced)、分布式系统、分布式软件等,今天开始后续的学习。

分布式就是分开了、分散了、比如数据处理(北京搞北京、天津搞天津),比如集群(一个人干一件事、发现不如一个人生十个八个然后每俩去干一件事情)。

行处理是利用多个功能部件或多个处理机同时工作来提高系统性能或可靠性的计算机系统,这种系统至少包含指令级或指令级以上的并行。

分布式处理则是将不同地点的,或具有不同功能的,或拥有不同数据的多台计算机通过通信网络连接起来,在控制系统的统一管理控制下,协调地完成大规模信息处理任务的计算机系统。(百科解释)

以下是整理的一个聊天的资料比较的分布式与集群的区别:一句话,就是:“分头做事”与“一堆人”的区别

集群是个物理形态,分布式是个工作方式。

集群一般被分为三种类型,高可用集群如RHCS、LifeKeeper等,负载均衡集群如LVS等、高性能运算集群。

管理方式:集群一般是物理集中、统一管理的,而分布式系统则不强调这一点。

分布式:一个业务分拆多个子业务,部署在不同的服务器上,当然一个子业务也可以部署一个集群(哈哈)

集群:同一个业务,部署在多个服务器上

分布式中的每一个节点,都可以做集群。 而集群并不一定就是分布式的。

分布式:指将不同的业务分布在不同的地方。

集群:将几台服务器集中在一起,实现同一业务。

效率:

分布式:以缩短单个任务的执行时间来提升效率的。

集群则:通过提高单位时间内执行的任务数来提升效率。

中心化:

分布式是相对中心化而来,强调的是任务在多个物理隔离的节点上进行。中心化带来的主要问题是可靠性,若中心节点宕机则整个系统不可用,分布式除了解决部分中心化问题,也倾向于分散负载,但分布式会带来很多的其他问题,最主要的就是一致性。

集群就是逻辑上处理同一任务的机器集合,可以属于同一机房,也可分属不同的机房。分布式这个概念可以运行在某个集群里面,某个集群也可作为分布式概念的一个节点。

集群则是一组物理计算机的组合,组合起来的目标得看具体场合,比如有的是为了提高可用性,有的是为了提高性能,有的是为了应对高并发。集群内的计算机之间使用什么方式进行协作,得看它们用的是什么软件系统:既可能是分布式的系统也可能是普通的软件系统。

案例一:如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行该任务需10小时。

采用分布式方案,提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。(这种工作模式的一个典型代表就是Hadoop的Map/Reduce分布式计算模型)

而采用集群方案,同样提供10台服务器,每台服务器都能独立处理这个任务。假设有10个任务同时到达,10个服务器将同时工作,1小时后,10个任务同时完成,这样,整身来看,还是1小时内完成一个任务,而对于分布式而言???

案例二:集群强调的是任务的同一性,分布式强调的是差异性。例如同样是负责文件传输的服务器,

对终端用户而言它只知道文件传到服务器上了,不在乎后台是几台服务器,分布在那些机房。

对于后台管理人员而言,同样是文件上传我可以在上海放置服务器处理上海地区的请求,

北京放置服务器处理北京的请求,最终实现全部地区用户可上传文件的任务,所以从这个角度来看是分布式的。

另一方面,上海的服务器可能有多台,同时处理上海来的请求,只是前端做了负载均衡,其内部运行逻辑什么的

完全是另外一台的clone,有一台挂掉了对整体业务无影响,所以从这个角度看是集群。如果北京的服务器全挂了,

那么北京的用户就没得玩了,从分布式的角度看对此是无能为力的,如果在此情况下我将北京的请求转到上海,

实现城市间的集群概念,那么就可handle 这个问题了。不过目前好像集群的概念用的比较范了,

你对用户说他的文件上传到了服务器集群也是ok的,至于内部是怎么个架构怎么个分布都无所谓了。

案例三:加入一个企业用一套体量很大的系统,需要高效率处理任务的目标时,我觉得采用分布式+集群的模式 是不是应该是最佳的。也就是说,先用分布式把这套系统进行负载均衡,即把各个功能模块进行拆分(也就是分布式概念),然后在拆分的基础上增加集群(个人觉得这个不错)。

所以,集群可能运行着一个或多个分布式系统,也可能根本没有运行分布式系统;分布式系统可能运行在一个集群上,也可能运行在不属于一个集群的多台(2台也算多台)机器上(蒙圈)。

时间: 2025-01-15 20:23:24

分布式与集群的相关文章

分布式与集群的区别

转自:http://sctrack.360doc1.net/track/click/eyJ1c2VyX2lkIjogMzkwMjIsICJ0YXNrX2lkIjogIiIsICJlbWFpbF9pZCI6ICIxNDUyNzgzODgwNDI4XzM5MDIyXzI5NTM3XzE0OTkuc2MtMTBfMTBfMTI3XzUxLWluYm91bmQwJGN4emR5QHZpcC5xcS5jb20iLCAic2lnbiI6ICI2NjgyOTU1Zjg1YTZiZWNkZTNjMWNjYjlh

分布式数据库集群中间件

我是一个分布式数据库集群中间件的开发人员,已经一年多一点的开发时间了,今天总结点我所知道的一些事情,给有新近来到这个领域的研发人员一点借鉴. 生活不易,赚钱不易,离开仅仅是为多赚点钱. ----学渣 我仅仅是说我所开发过的系统: 后面文章会有具体的分析.这里仅仅做简单的梳理.也就是你要研发分布式数据库集群中间件.须要向着哪些方面去思考. 首先我们从名字去分析我们正在从事的工作内容: 1. 分布式 须要考虑它的方向(后面具体说明) a)  分布式中的概念 b)  分布式的模型 c)  分布式系统特

legend分布式服务器集群逻辑计算处理压力测试

(如果图小,可以Ctrl+鼠标滚轮给缩放) 基于上次<legend分布式服务器集群并发登陆上线游戏压测结果>之后做了逻辑处理压力测试,仍然只配置了单个网关与单个逻辑服在集群中,结果如下: 测试用例: 第一步:上线一万个玩家,然后每10秒钟让每个玩家都往网关服务器发送一个逻辑计算请求,网关服务器转发请求给逻辑服务器处理,逻辑服务器进行一百万次浮点运算,然后将结果再返回给网关服务器,最后由网关服务器转发计算结果给玩家客户端,如图: 先分10个机器人,每个上线1000个,如图: 可以看出,从最先上线

大型分布式数据库集群的研究

1.为什么要设计成分布式数据库,数据为什么要分区? 当数据量很大的时候,即使服务器在没有任何压力的情况下,某些复杂的查询操作都会非常缓慢,影响了最终用户的体验. 在大数据量下对数据库的装载与导出,备份与恢复,结构的调整,索引的调整等都会让数据库停止服务或者高负荷运转很长时间,影响了数据库的可用性和可管理性. 这个时候靠提升服务器的硬件配置是起不到作用的,只有靠分区把数据分成更小的部分才能提高数据库的可用性和可管理性. 通过分区把各部分数据放到不同的机器中,每次查询可以由多个机器上的CPU,I/O

分布式与集群的区别通俗解释

(1)回答1: 集群是个物理形态,分布式是个工作方式.只要是一堆机器,就可以叫集群,他们是不是一起协作着干活,这个谁也不知道:一个程序或系统,只要运行在不同的机器上,就可以叫分布式,嗯,C/S架构也可以叫分布式.集群一般是物理集中.统一管理的,而分布式系统则不强调这一点.所以,集群可能运行着一个或多个分布式系统,也可能根本没有运行分布式系统:分布式系统可能运行在一个集群上,也可能运行在不属于一个集群的多台(2台也算多台)机器上. (2)回答2: 分布式是相对中心化而来,强调的是任务在多个物理隔离

分享在Linux下使用OSGi.NET插件框架快速实现一个分布式服务集群的方法

在这篇文章我分享了如何使用分层与模块化的方法来设计一个分布式服务集群.这个分布式服务集群是基于DynamicProxy.WCF和OSGi.NET插件框架实现的.我将从设计思路.目标和实现三方面来描述. 1 设计思路 首先,我来说明一下设计思路.我们先来看看目前OSGi.NET插件框架的服务.在这里,服务不是远程服务,它是轻量级的服务,由接口和实现类组成,如下图所示.服务契约插件定义了服务接口,服务实现插件向服务总线注册服务,服务调用插件利用服务契约(接口)从服务总线获取实现的服务并调用,服务实现

分布式和集群的区别

在IDF05(Intel Developer Forum 2005)上,Intel首席执行官Craig Barrett就取消4GHz芯片计划一事,半开玩笑当众单膝下跪致歉,给广大软件开发者一个明显的信号,单纯依靠垂直提升硬件性能来提高系统性能的时代已结束,分布式开发的时代实际上早已悄悄地成为了时代的主流,吵得很热的云计算实际上只是包装在分布式之外的商业概念,很多开发者(包括我)都想加入研究云计算这个潮流,在google上通过"云计算"这个关键词来查询资料,查到的都是些概念性或商业性的宣

分布式ActiveMQ集群

分布式ActiveMQ集群的部署配置细节: 官方资料:http://activemq.apache.org/clustering.html 基本上看这个就足够了,本文就不具体分析配置文件了. 1.Queue consumer clusters: 同一个queue,如果一个consumer失效,那么未被确认的消息都会被发送到这个queue的其它consumer上.如果某个consumer处理消息比较快,那么它将处理更多的消息. Queue consumer clusters 不需要特殊的配置. 2

分布式数据库集群节点数据一致性校验

某500强客户要上线一个功能,其后台所有数据库是我司设计开发的NoSQL数据库. 为了避免数据库集群中,数据节点不一致而导致问题,需要对数据库节点间的数据进行校验. 理论上说,数据库节点之间的数据,应当保持最终一致性.而我司的数据库,是在对主节点对数据进行操作时,coord节点会(立即)通知备节点拉取数据,从而保持数据的一致性.所以,对于正常运行的数据库来说,一个集群内每个节点上的数据,是完全一致的. 客户是上帝,我们所作的就是要让客户放心.虽然我们强调我们的数据库集群内的节点中数据是一致的,让