软件架构模式:软件体系结构的变化

下面和大家简单聊一聊软件架构风格的变化过程:

1、单体架构风格

这种体系结构的特点是系统的所有功能都被整体的部署到一起,它适合创业公司初期低成本、用户量小、开发周期短、对软件体系结构的非功能属性例如性能、可用性等指标要求不高的条件下,笔者早期做过的项目典型的体系结构如下图所示。

其缺点为如果如果项目很大,其开发、运行、维护十分困难;系统的可扩展性差;系统开发只是局限于一种生态圈,例如笔者原来的项目组中,只能接受Java技术生态圈的开发人员,对于现在Python生态圈、Go语言生态圈的开发人员不能容纳。

2、分布式架构风格

在分布式架构风格中,典型的就是面向服务的架构SOA风格和面向微服务的架构风格。

SOA即面向服务架构(Service-Oriented Architecture)。它可以在分布式计算环境中设计、开发、部署和管理粗粒度的应用服务,它可以将一个大的功能单元拆分为不同的服务,服务间通过接口或者协议进行通信,通过ESB企业服务总线对服务进行统一的编排、管理等工作,如下图所示。

这种风格的特点是随着服务的增加,ESB总线就会产生影响性能、可用性等质量属性的指标的瓶颈,所以去中心化的微服务就出现了。

微服务是一种架构风格,每个微服务可以被独立开发,独立测试、独立部署、独立演进,各个微服务之间松耦合;每一个微服务是一个独立完整的业务单元。

大型项目随着业务的发展,对服务的管理带来挑战,随着容器技术、容器编排技术的发展,服务的管理问题逐渐被解决,随着云计算基础设施的落地,软件的架构发展也开发演变为云原生架构。

云原生就是基于云计算环境的软件开发,和传统的单体系统开发不同的是,在云端有自己的一套信息化、数字化和智能化的开发、测试、运行、维护和项目管理的基础设施,可以做到资源的重用和共享,如下图所示。

名词解释DevOps:

(Development and Operations) 是开发和运营维护的总称,它是一种是将开发、运维与测试结合一起,形成了DevOps软件开发管理模式。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年8月19日
下一篇 2022年8月19日

相关推荐