下面的这些回答来自知乎,上知乎上看了一下,感觉挺好的,摘写了一些个人感觉比较好的回答
1 知乎用户 一蓑烟雨任平生 2 109 人赞同 3 分布式:一个业务分拆多个子业务,部署在不同的服务器上 4 集群:同一个业务,部署在多个服务器上 5 6 7 Wang Xu 后端码农,学过通信,做过点云计算啥的 8 116 人赞同 9 集群是个物理形态,分布式是个工作方式。 10 11 只要是一堆机器,就可以叫集群,他们是不是一起协作着干活,这个谁也不知道;一个程序或系统,只要运行在不同的机器上,就可以叫分布式,嗯,C/S架构也可以叫分布式。 12 13 集群一般是物理集中、统一管理的,而分布式系统则不强调这一点。 14 15 16 所以,集群可能运行着一个或多个分布式系统,也可能根本没有运行分布式系统;分布式系统可能运行在一个集群上,也可能运行在不属于一个集群的多台(2台也算多台)机器上。 17 18 19 20 冷夜 21 33 人赞同 22 1:分布式是指将不同的业务分布在不同的地方。 而集群指的是将几台服务器集中在一起,实现同一业务。 23 24 分布式中的每一个节点,都可以做集群。 而集群并不一定就是分布式的。 25 26 举例:就比如新浪网,访问的人多了,他可以做一个群集,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就将给哪一台去完成。 27 28 而分布式,从窄意上理解,也跟集群差不多, 但是它的组织比较松散,不像集群,有一个组织性,一台服务器垮了,其它的服务器可以顶上来。 29 30 分布式的每一个节点,都完成不同的业务,一个节点垮了,哪这个业务就不可访问了。 31 32 2:简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。 33 34 例如: 35 36 如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行该任务需10小时。 37 38 采用分布式方案,提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。(这种工作模式的一个典型代表就是Hadoop的Map/Reduce分布式计算模型) 39 40 而采用集群方案,同样提供10台服务器,每台服务器都能独立处理这个任务。假设有10个任务同时到达,10个服务器将同时工作,1小时后,10个任务同时完成,这样,整身来看,还是1小时内完成一个任务!