软件开发中的决策:权衡与取舍
上QQ阅读APP看书,第一时间看更新

1.3 架构设计模式及其失效分析

到目前为止,我们已经了解了影响代码设计的底层编程模式以及各种选择的利弊和取舍,但如果应用程序的上下文发生变化,你可能依旧能接受对这些底层设计做对应的修改。下文将着重讨论架构设计模式:这些模式由于贯穿组成你的系统的多个服务,因此很难做变更。我们先要讨论的是微服务架构,这是当今创建软件系统最通用的模式之一。

微服务架构与单体系统(单体系统在创建时,所有的业务逻辑都需要在单一系统中实现)相比,有诸多的优势。不过,微服务架构也带来了不可忽略的维护开销以及日益增加的复杂性。我们先从微服务架构与单体系统的根本优势入手,了解二者的区别。