集群与分布式
一 集群与分布式的区别
小饭店原来只有一个厨师,切菜洗菜备料炒菜全干。后来客人多了,厨房一个厨师忙不过来,又请了个厨师,两个厨师都能炒一样的菜,这两个厨师的关系是集群。为了让厨师专心炒菜,把菜做到极致,又请了个配菜师负责切菜,备菜,备料,厨师和配菜师的关系是分布式,一个配菜师也忙不过来了,又请了个配菜师,两个配菜师关系是集群
二 分布式
不同的业务模块部署在不同的服务器上或者同一个业务模块分拆多个子业务,部署在不同的服务器上,解决高并发的问题
分布式是指将不同的业务分布在不同的地方。 而集群指的是将几台服务器集中在一起,实现同一业务。
分布式中的每一个节点,都可以做集群。 而集群并不一定就是分布式的。
举例:就比如新浪网,访问的人多了,他可以做一个群集,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就将给哪一台去完成。
而分布式,从窄意上理解,也跟集群差不多, 但是它的组织比较松散,不像集群,有一个组织性,一台服务器垮了,其它的服务器可以顶上来。
分布式的每一个节点,都完成不同的业务,一个节点垮了,哪这个业务就不可访问了
三 集群
同一个业务部署在多台机器上,提高系统可用性
四 集群,分布式举例
集群举例:
为了计算1+2+3+...+100, 用一台机器就可以完成任务, 需要1s的时间, 现在部署集群10台机器, 那么这10台机器就可以在1s内处理10个这种请求。每台机器是独立服务, 整体构成一个集群。
分布式举例:
为了计算1+2+3+...+100, 可以部署10台机器, 第一台机器计算1+2+3+...+10(需要0.1s), 第二台机器计算11+12+13+...+20(需要0.1s), ..., 以此类推, 第十台机器计算91+92+93+...+100(需要0.1s), 最后求和即可。 由于是同时进行计算的, 所以计算1+2+3+...+100只需要大约0.1s