参考自:架构 - 理解架构的服务演化 | Java 全栈知识体系
单体分层架构
在 Web 应用程序发展的早期,大部分工程是将所有的服务端功能模块打包到单个巨石型(Monolith)应用中,譬如很多企业的 Java 应用程序打包为 war 包,最终会形成如下的架构:
巨石型应用易于搭建开发环境、易于测试、易于部署;其缺陷也非常明显,无法进行局部改动与部署,编译时间过长,回归测试周期过长,开发效率降低等。集中式架构分为标准的三层:数据访问层、服务层和 Web 层。
在 Web2.0 时代刚刚流行的时候,互联网应用与企业级应用并没有本质的区别,集中式架构分为标准的三层:数据访问层、服务层和 Web 层。
- 数据访问层用于定义数据访问接口,实现对真实数据库的访问;
- 服务层用于对应用业务逻辑进行处理;
- Web 层用于处理异常、逻辑跳转控制、页面渲染模板等。
¶ 面向服务架构 - SOA
SOA(Servic