分布式架构的理论(一)
一、什么是系统架构
项目的主体结构:
(1)实现业务功能的工程模块;
(2)为了应对业务功能之外的压力,给项目中增加的中间件等其它的系统;
(3)为了让整个项目能够顺畅高效地运行,需要把业务功能和中间件以及其他系统有效地整合起来;
二、单一架构
(1)概念
一个工程——>一个war包———>运行在一个Tomcat上
(2)演变
水平拆分:
把原来的一个工程拆分成多个模块分别进行开发,一定程度上提高了模块化程度。
垂直拆分:
按照业务功能把项目拆分成多个模块工程,但是由于彼此之间不存在模块之间的调用,所以还不能算作一个真正的分布式架构。
相当于把一个项目拆分成多个小项目分别开发。
三、互联网时代的新挑战
(1)高可扩:项目设计架构的时候要考虑到功能的持续更新(小步快跑)。
(2)高性能:系统处理一个请求的时间尽可能短,减少用户等待的时间。
(3)高并发:用户访问量非常大时,会增加系统的并发压力。
四、分布式架构
(1)概念
一个项目拆分成多个模块工程,每个模块工程都是一个war包,运行在各自的Tomcat上,模块之间可以通过网络互相进行调用。
(2)方法的远程调用
本地调用:在同一个项目的内部,不经过网络直接调用方法。不管是我们自己声明的方法还是第三方jar包中的方法都算本地调用。
远程调用:
当部署于不同Tomcat上的模块相互进行调用,需要通过网络请求进行访问。
方法的远程调用让我们能够去实现一个分布式架构,和调用第三方接口(发送验证短信、查询物流、执行支付、天气预报)。