最新 Dubbo3 深入理解原理系列
互联网的发展
随着互联网的发展,用户规模、数据规模、请求规模逐渐扩大,常规的单体架构、垂直应用架构已经无法满足网站需要,因此需要通过 分布式架构
、 流动计算架构
来对系统进行优化升级,提升性能来应对大规模的用户请求!
单一应用架构
将所有功能都揉进一个应用中,核心就是面向数据库的 CRUD 操作,该架构中的关键就是 ORM,通过 ORM 思想来操作数据库!
垂直应用架构
由单一应用架构进一步升级,按照子系统进行拆分,每个 子系统独立部署
、 共享数据库资源
解决了单体架构中子系统耦合程度高、扩展性差、不好维护的问题
像现在许多小公司,使用的还都是垂直应用架构,因为访问量、数据量都不大,垂直应用架构部署、开发简单,完全可以满足需求!
对于电商系统来说,垂直应用架构就是 Web 端
部署为一个 jar 包
,Web 端应用是用户进行购物、结算等操作的,而 后台管理端
部署为另一个 jar 包
,用于工作人员管理商品、库存的,他们是 两个不同的 JVM 进程
:
RPC 架构
RPC 架构由垂直应用架构进一步演变,就是为了解决不同模块之间调用的问题
但是 RPC 架构也存在问题:比如库存管理模块压力比较大,我们 想要对库存管理模块进行扩容
,部署多份,那么我们必须要 将后台管理端部署多份
才可以达到这个效果,这显然资源比较浪费,因为后台管理端还包括了商品管理模块和订单模块
分布式架构
由 RPC 架构进一步升级,将应用的不同模块进行进一步的拆分,使得单个模块职责更加单一,相比于 RPC 架构,可以进行负载均衡、服务注册、服务监控等功能
微服务架构
微服务架构是 SOA 架构的升级,其实现在微服务架构和 SOA 架构指的基本上就是一个东西了,只不过微服务架构是 SOA 架构做到极致的架构
通过微服务架构对多个应用进行编排、服务治理、服务注册、服务发现、负载均衡、限流、配置中心等操作