分布式与集群的区别

本文通过小饭店的例子,形象地解释了集群与分布式系统的概念及其区别,并进一步探讨了分布式架构在实际业务场景中的重要意义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自知乎。


小饭店原来只有一个厨师,切菜洗菜备料炒菜全干。后来客人多了,厨房一个厨师忙不过来,又请了个厨师,两个厨师都能炒一样的菜,这两个厨师的关系是集群。为了让厨师专心炒菜,把菜做到极致,又请了个配菜师负责切菜,备菜,备料,厨师和配菜师的关系是分布式,一个配菜师也忙不过来了,又请了个配菜师,两个配菜师关系是集群,如果一个配菜师生病了,那么另一个配菜师的任务就加重了,但他的任务类型还是不变的。

理解:集群是干相同的事的服务器
  分布式是将事情分类(如增删改查分类)到不同的服务器来处理,有时会有逻辑             的先后。

疑问:对于这种注重前后关系的情况,分布式的意义体现在哪里,感觉和不分开没多大变化?
答:1.稳定业务和多变业务分离:比如转账业务不会变,但转账完成后续动作多变,可能发短信,可能发邮件,还有别的奖励,也可能有个短期活动需要处理,如果每次变化都直接加到转账业务里,那就要频繁改动主业务,甚至需要重启,更甚至直接给主业物代码引入了新的bug
2.新业务老业务分离:一块成熟的业务,拓展出来一块新业务,新的业务只需要从老业务里面获取小部分数据或功能,剩下大部分都是很独立的逻辑,老业务模块根本不需要了解新业务模块,如果都堆积到老业务模块里面,笨重又混乱
3.团队隔离:核心业务系统由核心团队管理和维护,非核心业务系统由另外一个独立团队维护,互相暴露少量接口互通,互有边界控制
4.不同硬件需求:有的业务需要大内存,有的需要大硬盘,有的需要更强cpu,有的需要更多集群,根据不同需求分布到更适合的物理设备上,而不是统一配置爱用不用
5.还有更多理由需要分布式,即便是有先后顺序,也会把业务拆分成多个独立子系统,更多知识请百度“分布式”“微服务”“组件化”“模块化”
6.如果你的业务本来就很简单,拆分反而成了负担,也有拆分不合理后面重构合并到一起的
7.“分布式架构”在一体化系统里面相对应的概念是“接口分离原则”,对应的问题就应该是“一个方法就能解决问题,为什么要分开好几个方法或接口”




作者:张鹏飞
链接:https://www.zhihu.com/question/20004877/answer/112124929
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值