参考自:架构 - 理解架构的服务演化 | Java 全栈知识体系
单体分层架构
在 Web 应用程序发展的早期,大部分工程是将所有的服务端功能模块打包到单个巨石型(Monolith)应用中,譬如很多企业的 Java 应用程序打包为 war 包,最终会形成如下的架构:

巨石型应用易于搭建开发环境、易于测试、易于部署;其缺陷也非常明显,无法进行局部改动与部署,编译时间过长,回归测试周期过长,开发效率降低等。集中式架构分为标准的三层:数据访问层、服务层和 Web 层。
在 Web2.0 时代刚刚流行的时候,互联网应用与企业级应用并没有本质的区别,集中式架构分为标准的三层:数据访问层、服务层和 Web 层。
- 数据访问层用于定义数据访问接口,实现对真实数据库的访问;
- 服务层用于对应用业务逻辑进行处理;
- Web 层用于处理异常、逻辑跳转控制、页面渲染模板等。
¶ 面向服务架构 - SOA
SOA(Service-Oriented Architecture) 面向服务架构,是在互联网应用规模迅速增长,集中式架构已无法做到无限制地提升系统的吞吐量的背景下,产生的涉及模块化开发、分布式扩展部署等相对宽泛的概念。
SOA 是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义

本文介绍了架构的演进历程,从单体分层架构到面向服务架构(SOA),再到微服务架构和云原生架构。讨论了各个阶段的特点和优势,如SOA的组件模型、微服务的独立部署和云原生的灵活性。文章还提到了Dubbo和康威定律在服务化架构中的影响。

430

被折叠的 条评论
为什么被折叠?



