分布式和集群的区别

分布式和集群的区别

分布式和集群,这两个概念确认容易被人搞混。

而且分布式和集群,这两者,经常是我中有你,你中有我。

分布式系统大家从网络上看到的学术定义简单来说就是一套由一组计算机协同工作,让用户感觉像是一个统一的整体的系统。

但是,由于这个定义定的过于简练,很多初入门的人会毫无感知的潜意识就会混淆了分布式系统的概念。

什么意思?我这里问下,当我们用 keepalived 做高可用集群的时候,我们是在搞分布式系统吗?当我们并发不够,搞了一堆机器做负载均衡,我们是在搞分布式系统吗?

当你心里默默回答是,或者不清楚是不是的时候,你本身对分布式系统这个概念就已经糊涂了。

这里,就需要为分布式系统画出一个边界来,并以此告知大家,并不是多台机器堆在一起了就是分布式系统了。对于刚才那两个问题,正确的答案就是 keepalived 做的高可用集群,用 Nginx 或者 lvs 后面跟着一堆应用集群配合搞的负载均衡,他们都不是分布式系统,他们就仅仅是个集群而已。

类似的,数据库比如 MySQL 的主从,双主什么的当然也不是分布式系统。因为这些集群少了分布式系统最核心的东西:

应用所在服务器之间的相互协作

为了说清集群和分布式,我再给大家举一个通俗易懂的例子:

假设有一天我开了个软件公司,公司就我一个程序员,前端、后端、测试的活儿,都是我干,一个月我能做完一个项目。

后来项目多了,我忙不过来了,为了多赚钱,怎么办呢,我想了两条路

  1. 再招一个和我一样强的全栈工程师,我俩每个人独立做项目,这样我们一个月能做完两个项目。我俩就组成了一个集群
  2. 招一个前端、一个测试配合我,前端、后端、测试分头干。通过协作,我们半个月能干完一个项目。这时候我们的关系就是分布式

从上面例子你就能看出:

  • 集群中的多个服务器都在做相同的事情,并不能缩短处理一件事情的时间。
  • 而分布式呢,是把事情拆开,多个服务器分头做事,可以缩短时间。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值