可伸缩架构(第2版):云环境下的高可用与风险管理
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第3章
使用服务

现代化的软件需要使用现代化的应用程序架构,但是现代化的软件架构都包含什么呢?设计可伸缩和高可用应用程序的关键之一,是采用基于服务或微服务的架构。传统的单体应用程序开发流程不具有让应用程序保持可伸缩性和高可用性的能力。

通常来说,应用程序都是一个独立、大型、明确的单体程序。这个独立的单体程序包含了一个应用程序的所有业务逻辑。为了改进某一项业务功能,一个开发人员必须在这个应用程序的内部进行修改,同时,其他所有开发人员也必须在其中进行修改。这样,开发人员之间很容易造成干扰,并且互相冲突的修改会导致更多的问题和故障。

在一个面向服务的架构中,单个服务只包含所有业务逻辑的某个子集。这些独立的服务互相连接,为应用程序提供完整的业务逻辑。

让我们来比较一下单体架构和面向服务的架构,看看为什么面向服务的架构能够提供更好的组织可伸缩性和应用程序可伸缩性。