解决方案架构师修炼之道(原书第2版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 解决方案架构的演进

解决方案架构随着技术的现代化而演进。今天,随着互联网的广泛应用、高带宽网络的出现、存储成本的降低,以及计算机的普及,解决方案架构设计与几十年前相比发生了天翻地覆的变化。

早在互联网时代之前,大多数解决方案设计都专注于提供一个胖桌面客户端,当系统无法连接到互联网时,它能够在低带宽的情况下运行并离线工作。

这项技术在过去20年不断演进。面向服务的架构(Service-Oriented Architecture,SOA)开始形成分布式设计,应用程序开始从单体转向现代的N层架构,其中前端服务器、应用服务器和数据库都运行于其独立的计算机和存储之上。SOA主要是通过一种基于XML(可扩展标记语言)的消息传递协议来实现的,这种协议被称为简单对象访问协议(Simple Object Access Protocol,SOAP)。它的一个主要部分便是遵循客户端-服务器模式来创建服务。

在当今数字化的时代,你会看到基于微服务的解决方案设计越来越流行,它基于JavaScript对象符号(JavaScript Object Notation,JSON)的消息传递和表示层状态转移(Representational State Transfer,REST)服务。这些Web API不需要基于XML的SOAP来支持其接口,而是依赖于基于Web的HTTP协议,如POSTGETUPDATEDELETE等。第6章将详细介绍不同的架构模式。

微服务架构解决了敏捷环境中不断变化的需求。在敏捷环境中,任何解决方案的变化都需要快速地适应和部署。组织必须敏捷才能够在竞争中保持领先地位。这迫使解决方案架构必须更加灵活(与项目发布周期较长的瀑布模型相比)。

基于Web的微服务架构是由几乎无限的资源所推动的,这种资源可以从云供应商那里获得,并且可以在几分钟甚至几秒钟内进行伸缩。创新、实验和变革变得越来越容易,因为解决方案架构师和开发人员即使失败也不会对业务功能造成影响。