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

集群和分布式,实际上是两个截然不同的概念。

01

集群

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

✔︎  举个例子

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

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

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

分布式与集群是一回事儿么?别让这么简单的问题难住你!_第1张图片

02

分布式

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

✔︎  再举个例子

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

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

分布式与集群是一回事儿么?别让这么简单的问题难住你!_第2张图片

✔︎  分布式的好处

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

03

分布式 + 集群

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

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

分布式与集群是一回事儿么?别让这么简单的问题难住你!_第3张图片

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

分布式与集群是一回事儿么?别让这么简单的问题难住你!_第4张图片

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

有道无术,术可成;有术无道,止于术

欢迎大家关注Java之道公众号

好文章,我在看❤️

你可能感兴趣的:(分布式与集群是一回事儿么?别让这么简单的问题难住你!)