上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.1 扑面而来的云原生
某一天,你的公司准备与世界领先的电子商务巨头展开竞争,作为系统架构师,你需要为公司设计一套先进的电子商务应用,应该如何构建它?以你在软件界十余年来的丰富设计经验,很可能会设计出如图1-1所示的应用系统。
图1-1 传统的单体设计的应用系统
你为公司设计了一个庞大的核心应用程序,它包含所有的领域逻辑。其中包括诸如身份、产品目录、订单以及其他模块。这些模块逻辑上是独立的,在物理上这些模块运行在同一个服务器进程中,每个模块都可以直接与其他模块通信。这些模块共享一个大型的关系数据库。应用通过HTML界面或者移动应用展示其功能。
祝贺你!你已经构建了一个单体应用。
多年来,单体应用都深受设计师的欢迎,它提供了一些独特的优势。例如,它可以简单直接地进行:
● 构建。
● 测试。
● 部署。
● 排除故障。
● 纵向扩展。
当今的许多成功的应用就是以单体应用的模式构建的。这种类型的应用程序很受欢迎,并且不断发展,通过一次又一次的迭代,还在不断添加更多功能。