文档章节

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

Candy520
 Candy520
发布于 2015/10/21 17:51
字数 930
阅读 596
收藏 12

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


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

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

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

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

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

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

例如:

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

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

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


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

本文转载自:http://www.zhihu.com/question/20004877

共有 人打赏支持
Candy520
粉丝 50
博文 51
码字总数 63811
作品 0
深圳
私信 提问
加载中

评论(3)

黑黑的脚后跟
黑黑的脚后跟
讲的很清楚,果断收藏4
Candy520
Candy520

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

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

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

什么是分布式部署 集群和分布式的区别,分布式相比集群有哪些好处?

Leviathans
2010/07/22
6.7K
14
集群与分布式区别

在学习接触大数据相关各种技术后,比如: zookeeper分布式应用协调服务组件、 Hadoop是分布式计算平台(包含分布式文件系统HDFS和分布式计算和任务处理MapReduce)、 Hive是分布式数据库、 ...

wbx417
2016/12/16
123
0
spark源码阅读笔记Spark原理(一)基本前提

分布式与集群的区别是什么? 集群是个物理形态,分布式是个工作方式。 集群:一堆机器,进行统一管理。集群可以运行多个分布式系统,比如同时有hadoop和spark 分布式:一个程序或系统运行在不...

u014236541
05/10
0
0
分布式与集群的区别是什么?

作者:冷夜 链接:http://www.zhihu.com/question/20004877/answer/61025046 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 1:分布式是指将不同的业务...

抢地主
2016/06/15
6
0
分布式、集群和微服务概念整理

集群是个物理形态,分布式是个工作方式。 分布式:一个业务分拆多个子业务,部署在不同的服务器上 集群:同一个业务,部署在多个服务器上 1:分布式是指将不同的业务分布在不同的地方。而集群...

技术小哥哥
2016/07/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

小白带你认识netty(三)之NioEventLoop的线程(或者reactor线程)启动(一)

在第一章中,我们看关于NioEventLoopGroup的初始化,我们知道了NioEventLoopGroup对象中有一组EventLoop数组,并且数组中的每个EventLoop对象都对应一个线程FastThreadLocalThread,那么这个...

天空小小
今天
3
0
PHP动态扩展Redis模块

查看已有模块 [root@test-a ~]# /usr/local/php/bin/php -m[PHP Modules]bz2Core...zlib[Zend Modules] 下载包,解压,生成configure文件 [root@test-a ~]# cd /usr/local/src/[ro......

野雪球
今天
3
0
在Ignite中使用线性回归算法

在本系列前面的文章中,简单介绍了一下Ignite的机器学习网格,下面会趁热打铁,结合一些示例,深入介绍Ignite支持的一些机器学习算法。 如果要找合适的数据集,会发现可用的有很多,但是对于...

李玉珏
今天
4
0
Mybatis应用学习——简单使用示例

1. 传统JDBC程序中存在的问题 1. 一个简单的JDBC程序示例: public class JDBCDemo {public static void main(String[] args) {Connection con=null;PreparedStatement statemen...

江左煤郎
今天
4
0
使用JavaScript编写iOS应用业务逻辑

JSAUIKitCocoa使你可以使用JavaScript编写对性能要求不高但可能变动性很大的iOS应用的业务逻辑部分,View组件、需要多线程支持的Model等则直接使用原生对象。 编写方式与React Native相似,但...

neal01
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部