分布式与集群的区别是什么?
博客专区 > Candy520 的博客 > 博客详情
分布式与集群的区别是什么?
Candy520 发表于2年前
分布式与集群的区别是什么?
  • 发表于 2年前
  • 阅读 575
  • 收藏 8
  • 点赞 1
  • 评论 3

腾讯云 技术升级10大核心产品年终让利>>>   

                我个人理解:集群强调的是任务的同一性,分布式强调的是差异性。例如同样是负责文件传输的服务器,对终端用户而言它只知道文件传到服务器上了,不在乎后台 是几台服务器,分布在那些机房。对于后台管理人员而言,同样是文件上传我可以在上海放置服务器处理上海地区的请求,北京放置服务器处理北京的请求,最终实 现全部地区用户可上传文件的任务,所以从这个角度来看是分布式的。另一方面,上海的服务器可能有多台,同时处理上海来的请求,只是前端做了负载均衡,其内 部运行逻辑什么的完全是另外一台的clone,有一台挂掉了对整体业务无影响,所以从这个角度看是集群。如果北京的服务器全挂了,那么北京的用户就没得玩 了,从分布式的角度看对此是无能为力的,如果在此情况下我将北京的请求转到上海,实现城市间的集群概念,那么就可handle 这个问题了。不过目前好像集群的概念用的比较范了,你对用户说他的文件上传到了服务器集群也是ok的,至于内部是怎么个架构怎么个分布都无所谓了。


1:分布式是指将不同的业务分布在不同的地方。 而集群指的是将几台服务器集中在一起,实现同一业务。

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

举例:就比如新浪网,访问的人多了,他可以做一个群集,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就将给哪一台去完成。

而分布式,从窄意上理解,也跟集群差不多, 但是它的组织比较松散,不像集群,有一个组织性,一台服务器垮了,其它的服务器可以顶上来。

分布式的每一个节点,都完成不同的业务,一个节点垮了,哪这个业务就不可访问了。

2:简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。

例如:

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

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

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


分布式:一个业务分拆多个子业务,部署在不同的服务器上
集群:同一个业务,部署在多个服务器上

共有 人打赏支持
粉丝 51
博文 35
码字总数 62756
评论 (3)
_wxyz
实际使用的话,好像都是集群+分布式的
Candy520

引用来自“抽象派”的评论

实际使用的话,好像都是集群+分布式的

是的
黑黑的脚后跟
讲的很清楚,果断收藏4
×
Candy520
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: