系统架构演变
1)单体应用架构
web工程的所有模块(web层,service层,dao层)全部打包放到一个web容器中运行。
优点:
(1)架构简单,开发成本低,周期短,适合小型项目。
缺点:
(1)全部功能集成在一个工程中,对于大型项目不利于开发、拓展、维护。
(2)性能拓展只能通过扩展集群节点,成本高,有瓶颈。
(3)技术栈受限。
2)垂直应用架构
当访问量逐渐增加时,单一应用增加机器带来的加速度越来越小,将应用拆分成互不相干的多个应用,以提升效率。
优点:
(1)项目架构简单,开发成本低,周期短,小型项目的首选。
(2)通过垂直拆分,原先的单体应用不至于不限扩大。
(3)不同项目可以采用不同的技术。
缺点:
(1)全部功能集中到一个工程,对于大型项目不利于开发、拓展、维护。
(2)性能拓展只能通过拓展集群节点,成本高,有瓶颈。
3)分布式SOA架构
SOA(Service-Oriented Architecture),即面向服务架构,通过将核心业务逻辑抽离成通用的服务组件进行分布式部署、组合和
使用,一个服务组件通常以独立形式的进程运行。
优点:
(1)抽取公共功能作为通用服务组件,提高开发效率。
(2)对不同服务进行集群化部署可以缓解系统压力。
(3)降低系统的耦合度。
缺点:
(1)抽取服务的粒度较大
(2)服务提供方和调用方的接口耦合度较高
下载全套