分布式和集群的区别,也就是“分头做事”和“一堆人”的区别。干同样事的是集群,分工合作的是分布式。
1.分布式是指将不同的业务分布在不同的地方。 而集群指的是将几台服务器集中在一起,实现同一业务。
(1)分布式:一个业务分拆多个子业务,部署在不同的服务器上。这样就是每一个节点,都完成不同的业务,一个节点垮了,这个业务就并不能访问了。
(2)集群:同一个业务,部署在多个服务器上。一台服务器垮了,其他服务器可以顶上来。
举例:就比如新浪网,访问的人多了,他可以做一个群集,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就将给哪一台去完成。
2.简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。
举例:本来一个业务分为10个子业务,一个子业务执行1小时,则在一台服务器上执行10小时。
(1)分布式:提供10台服务器,每个服务器只负责一个子业务,若同时执行则完成10个子业务只需要1小时。
(2)集群:提供10台服务器,每个服务器都能独立处理这个业务。若同时处理10个业务,提供10个服务器同时执行,1个小时后这10个业务同时完成。相当于还是1小时一个业务(但是每个服务器不再是只执行了一个子业务,而是执行了10个子业务)。
总结:
分布式和集群的区别,也就是“分头做事”和“一堆人”的区别。可以理解为:干同样事的是集群,分工合作的是分布式。
另外:在知乎看到一个回答,举的例子非常通俗易懂,在这里与大家分享:
“小饭店原来只有一个厨师,切菜洗菜备料炒菜全干。后来客人多了,厨房一个厨师忙不过来,又请了个厨师,两个厨师都能炒一样的菜,这两个厨师的关系是集群。为了让厨师专心炒菜,把菜做到极致,又请了个配菜师负责切菜,备菜,备料,厨师和配菜师的关系是分布式,一个配菜师也忙不过来了,又请了个配菜师,两个配菜师关系是集群。”