软件架构的演变:从单体到云原生及未来展望

许 乔文
云南民族大学

摘要


软件架构是软件系统的骨骼,定义了软件的质量属性和演化能力。随着业务的需求、技术范式和基础设施
不断迭代前进,软件架构风格也发生着很大的变化。因此本文梳理和总结了过去几十年软件架构的发展脉络:从单
体架构到分层架构、面向服务架构(SOA)、微服务架构、再到最近的云原生架构等几个大周期,结合每个阶段的代
表性架构讨论了各个阶段对应的代表技术、核心理念、特点优势和缺点;与此同时我们还分析了近几年兴起的服务
网格(Service Mesh)和无服务器计算(Functions-as-a-Service)等新型架构的崛起背景,给出了一些建设性的结论,
希望给大家启示。研究发现,从一开始就想要高内聚、低耦合、高扩展、高可靠就是软件架构发展的目标,所以它
受硬件的发展、网络的发展、分布式系统理论的影响等等。

关键词


软件架构;架构演变;微服务;云原生;无服务器;分布式系统

全文:

PDF


参考


[1]Newman, S. (2015). Building Microservices:

Designing Fine-Grained Systems. O'Reilly Media.

[2]Fowler, M., & Lewis, J. (2014). Microservices.

[Online] Available: https://martinfowler.com/articles/

microservices.html

[3]Richards, M. (2015). Software Architecture Patterns.

O'Reilly Media.

[4]Nadareishvili, I., et al. (2016). Microservice

Architecture: Aligning Principles, Practices, and Culture.

O'Reilly Media.

[5]Tilkov, S., & Vinoski, S. (2010). SOA and REST:

Friends or Foes? IEEE Internet Computing, 14(3), 82-85.

[6]The CNCF Technical Oversight Committee. (2018).

Cloud Native Definition v1.0. Cloud Native Computing

Foundation.

[7]Burns, B., et al. (2016). Designing Distributed

Systems: Patterns and Paradigms for Scalable, Reliable

Services. O'Reilly Media.

[8]Evans, E. (2003). Domain-Driven Design: Tackling

Complexity in the Heart of Software. Addison-Wesley

Professional.


Refbacks

  • 当前没有refback。