下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

别让这么简单的问题难住你,分布式与集群是一回事儿么?

作者:会点代码的大叔     来源: 今曰头条点击数:989发布时间: 2019-12-06 11:09:03

标签: 开发服务器课程开发服务器视频服务器课程视频

软考,您想通过吗?一次通过才是硬道理

集群和分布式,实际上是两个截然不同的概念。我们一起看看啦。

集群

一个业务,部署在多台服务器上,这就是集群。这里的一个业务,可以直接看做一个程序包。

举个例子

公司开发了一个网上商城,类似于T宝,顾客可以在上面浏览商品、加入购物车、支付,完成整个的购物流程。

公司买了一台服务器,把这套程序部署上去,可以满足一千个人同时在线购物。

当顾客越来越多,服务器负载越来越高,商城的页面也越来越卡,这时候公司再买几台服务器,把商城的程序在每个服务器上都部署一套,由负载均衡将请求转发到各个服务器上,这就是集群。

分布式

把一个业务,拆分成多个业务,然后部署到不同的服务器上,这就是分布式。

再举个例子

公司的网上商城,拆分成两个系统:商品系统和支付系统,用户在商品系统上完成浏览商品、加入购物车的动作,在支付系统上完成支付动作(当然用户是无法感知到是在两个系统上完成的操作),这就是分布式。

当然,还能继续拆,例如拆出来:用户系统、积分系统、物流系统等等等等。

分布式的好处

领导说,我们再做一个二手交易平台,类似于X鱼,这时候用户系统、支付系统就可以复用了,做到了服务复用。

分布式 + 集群

分布式和集群通常是是结合在一起使用的;

比如商品系统部署两台,支付系统部署两台,前面各自挂负载均衡,这样就算有单个服务器 Down 掉,也不会对整个业务流程造成影响。

还有另外一种方案,可以不依赖于负载均衡,那就是采用 服务注册/发现 的方式:

总之,集群部署很容易实现,当单机不能满足业务需要时,可以采用集群部署,至于要不要做分布式,业务拆分到什么粒度,就要结合公司的实际情况来决定了。今天内容就是这些,我们明天见。