【单体架构、分布式、集群、微服务】

文章通过做饭的例子解释了单体架构、集群、分布式和微服务的概念。单体架构是一个系统处理所有任务,集群是多台服务器分担压力,分布式是不同子系统协同完成任务,而微服务则是将服务细粒度划分以实现更高解耦合和可扩展性。负载均衡在集群中起着关键作用,帮助分配请求。
摘要由CSDN通过智能技术生成

单体到集群

通过做饭举个例子。
首先明确做饭的工序(这里先忽略顺序):买菜,洗菜,蒸饭,炒菜,出锅 。
一个厨师做饭就是单体
一群厨师做饭就是集群
明确一点:集群只是增加了服务器而已,大家做的事情还是一样,下图我用XXX.Java表示了同样的事情,为的只是分担一下单台服务器的压力

单体应用

最简单的模式,只有一台服务器独立处理请求。
图一

集群

集群是由多台机器独立完成相同任务
集群通常是多台服务器在同一个机房内,多台服务器之间一般会通过网路进行高速通信,为外部提供同样的服务(这里的网络一般都是有线网络)
因为集群是多台机器,其目的就是缓解压力,图中的注册中心其实也就是负载均衡服务器,通过算法路由出集群中的一个机器。具体算法可以网上搜索 负载均衡算法,只需要明白算法的作用就是选出一台机器,例如根据机器性能设置权重,A机器性能较差,则设置为权重1,B机器性能较好设置为权重2。(默认权重越高越容易被选取)
集群处理方式
在这里插入图片描述
这里说明一下下图,注册中心路由了机器,可以打到机器上面,可以不用返回再去重新请求(这种方式其实是比较常见的)
在这里插入图片描述

分布式

什么是分布式呢,分布式是由几个子系统共同协作完成一个任务

前面讲做饭都是由一个人完成,现在改变策略了。
一个人专门炒菜,一个人专门负责买菜,一个人专门负责配料。

图中AAA.Java BBB.Java CCC.Java就是单独的系统,这里的例子表示请求打过来时,通过解析发现由C系统负责处理,但是C系统需要和B系统协作,这里就完美避开了A系统,所以解耦合了。

这里只是简单的通过请求特征xxxServuce去描述的,实际肯定不是这么简单,但是原理都一样,要知道无论怎样变化,一个请求都会被解析,首先打到某个子系统去处理请求(基于分布式前提)
在这里插入图片描述

集群与分布式

看来上面的过程,我相信理解下图并不难了
在这里插入图片描述

微服务和分布式

总的来说很像。
微服务
现在这里是一个study,例如还有studyA,studyB将来分别部署运行起来,它们之间通过网络远程调用协作,study、studyA、studyB这几个才叫做微服务。微服务就是软件架构层面的思想
微服务就是子系统或者服务的细粒度划分,例如study服务的更细粒度的划分,为的是解耦合,可拓展,注意理解微服务的微**
在这里插入图片描述
分布式
系统部署硬件层面,将study、studyA、studyB真正地部署到服务器上面运行起来,整个系统就是分布式系统了

单体架构、微服务、集群、分布式

单体架构并不一定是一台机器,单体结构可以做集群,例如第一个集群那个例子,本质上并没有服务的拆分。单体架构🈯️的一个系统内完成许多事情,不代表不能有多个机器

偏硬件层面
集群:多台机器可以独立完成同一任务,谁做都一样
分布式:子系统独立部署到机器上,分布式强调一些网路、硬件、网关,分布式事务、锁等。

恳请大佬们指导

java工作快一年了,诸多不对的地方,请大家指导,别喷,狗头保命!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值