分布式与集群的区别
解释
单机结构
- 理解
一个系统业务量很小的时候所有的代码都放在一个项目中就好了,然后这个项目部署在一台服务器上就好了。整个项目所有的服务都由这台服务器提供。这就是单机结构 - 缺点
单机的处理能力是有限的,当你的业务增长到一定程度的时候,单机的硬件资源将无法满足你的业务需求,此时便出现了集群模式。
集群结构
- 理解
单机处理达到瓶颈的时候,你就把单机复制几份,这样就构成了一个"集群"。集群中每台服务器就叫做这个集群的一个"结点",所有的结点构成了一个集群。
每个结点都提供相同的服务,那么这样系统的处理能力就相当于提升了好几倍(有几个结点就相当于提升了这么多倍)。 - 用户的请求由哪个结点来处理呢?
最好能够让此时此刻负载较小的节点来处理,这样使得每个结点的压力都比较平均。
要实现这个功能,就需要在所有结点之前增加一个"调度者"的角色,用户的所有请求都先交给他,然后它根据当前所有结点的负载情况,决定将这个请求交给哪个结点处理。
这个"调度者"名字---负载均衡服务器。 - 好处
系统扩展非常容易。如果随着你们系统业务的发展,当前的系统又支撑不住了,那么给这个集群再增加节点就行了。 - 缺点
当业务发展到一定程度的时候,会发现一个问题,无论怎么增加结点,整个集群性能的提升效果并不明显了。这时候,就需要使用微服务结构了。
分布式结构
- 解释
分布式结构是将一个完整的系统,按照业务功能,拆分成一个个独立的子系统,在分布式结构中,每个子系统就被称为"服务"。 - 好处
(1) 系统之间的耦合度大大降低
(2) 服务的复用性更高
分布式:一个业务分拆多个子业务,部署在不同的服务器上。
集群:同一个业务,部署在多个服务上。
通俗易懂解释
单体架构
家里生小宝宝啦,由于自己没有照顾小宝宝的经验,所以请了位经验丰富的月嫂。 这位月嫂从买菜,到做饭,洗衣,拖地,喂奶,哄睡,洗澡,换纸尿裤,
擦屁股,做排气操,夜间陪护,给奶妈做月子餐等等,全部都做。 这种叫做单体架构。
集群
什么都做,一个月嫂怎么够呢,肯定忙不过来呀,那就请两个月嫂吧,这叫做集群。
高可用
有一个月嫂过生日,想请假回去和亲戚打一天麻将。如果只有一个月嫂,她走了,就叫做服务中断了。 但是因为做了集群,有两个月嫂,走了一个,
另一个还是能用,虽然相比较吃力一些,但是毕竟还是能用的,这个现象叫做高可用。
分布式
一个月嫂,一个月的费用基本上都要1万多,还有房贷,还有车贷,生活费用还高,实在是请不起两位啊,那就还是请一位吧。
可是事情那么多,她实在忙不过来,怎么办呢? 那就把爷爷请过来买菜,把奶奶请过来做饭。 这样服务本来仅仅是由月嫂一人提供的,
变成了和宝宝相关的由月嫂负责,采购由爷爷负责,餐饮由奶奶负责。 这就叫做分布式了。
低耦合
做宝宝服务的月嫂去打麻将了,不影响做饭的奶奶。 做采购的爷爷去喝酒了,也不影响月嫂的宝宝服务,这叫做低耦合。
高内聚
和宝宝相关的事情都是月嫂在做,月嫂兑奶方式快慢,只会影响自己,对爷爷和奶奶的服务没影响. 这叫做高内聚。
集群+分布式
奶奶一个人做饭,做久了也烦啊,也累啊,也想打麻将呀。 那么就把姥姥也请过来吧。
这样做饭这个服务,就由奶奶和姥姥这个集群来承担啦。她们俩,谁想去汗蒸了,
都有另一位继续提供做饭服务。 这就叫做集群+分布式。
本文来自博客园,作者:jsqup,转载请注明原文链接:https://www.cnblogs.com/jsqup/p/15964428.html