云原生应用开发实战:基于.NET开发框架及Kubernetes容器编排技术
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1 扑面而来的云原生

某一天,你的公司准备与世界领先的电子商务巨头展开竞争,作为系统架构师,你需要为公司设计一套先进的电子商务应用,应该如何构建它?以你在软件界十余年来的丰富设计经验,很可能会设计出如图1-1所示的应用系统。

图1-1 传统的单体设计的应用系统

你为公司设计了一个庞大的核心应用程序,它包含所有的领域逻辑。其中包括诸如身份、产品目录、订单以及其他模块。这些模块逻辑上是独立的,在物理上这些模块运行在同一个服务器进程中,每个模块都可以直接与其他模块通信。这些模块共享一个大型的关系数据库。应用通过HTML界面或者移动应用展示其功能。

祝贺你!你已经构建了一个单体应用

多年来,单体应用都深受设计师的欢迎,它提供了一些独特的优势。例如,它可以简单直接地进行:

● 构建。

● 测试。

● 部署。

● 排除故障。

● 纵向扩展。

当今的许多成功的应用就是以单体应用的模式构建的。这种类型的应用程序很受欢迎,并且不断发展,通过一次又一次的迭代,还在不断添加更多功能。