分布式架构的理论(一)

一、什么是系统架构

项目的主体结构:
(1)实现业务功能的工程模块;
(2)为了应对业务功能之外的压力,给项目中增加的中间件等其它的系统;
(3)为了让整个项目能够顺畅高效地运行,需要把业务功能和中间件以及其他系统有效地整合起来;

二、单一架构

(1)概念
一个工程——>一个war包———>运行在一个Tomcat上

(2)演变
水平拆分:
分布式架构的理论(一)
把原来的一个工程拆分成多个模块分别进行开发,一定程度上提高了模块化程度。

垂直拆分:
分布式架构的理论(一)
按照业务功能把项目拆分成多个模块工程,但是由于彼此之间不存在模块之间的调用,所以还不能算作一个真正的分布式架构。
相当于把一个项目拆分成多个小项目分别开发。

三、互联网时代的新挑战

(1)高可扩:项目设计架构的时候要考虑到功能的持续更新(小步快跑)。

(2)高性能:系统处理一个请求的时间尽可能短,减少用户等待的时间。

(3)高并发:用户访问量非常大时,会增加系统的并发压力。

四、分布式架构

(1)概念
一个项目拆分成多个模块工程,每个模块工程都是一个war包,运行在各自的Tomcat上,模块之间可以通过网络互相进行调用。

(2)方法的远程调用
本地调用:在同一个项目的内部,不经过网络直接调用方法。不管是我们自己声明的方法还是第三方jar包中的方法都算本地调用。

远程调用:
分布式架构的理论(一)

当部署于不同Tomcat上的模块相互进行调用,需要通过网络请求进行访问。
方法的远程调用让我们能够去实现一个分布式架构,和调用第三方接口(发送验证短信、查询物流、执行支付、天气预报)。