
13
第 2 章
云原生基础
正如第 1 章所讲的那样,云原生应用本质上是分布式的,充分利用了云基础架构的特
性。构建一个云原生应用有很多不同的技术和工具,从计算的角度来看主要有两个,一
个是容器,另一个是函数计算。从架构的角度来看,微服务架构已经受到了很多人的欢
迎。这几个术语经常会被搞混,甚至被认为是指同一个东西。但事实上,函数计算和容
器是不同的技术,它们的功能是不一样的,而微服务则描述了一种架构风格。也就是
说,理解了如何利用好函数计算和容器技术,配合事件通知和消息通信相关技术,开发
者们就可以最有效和快速地构建下一代基于微服务架构的云原生应用。想要做出正确的
架构决策来设计这类新的应用程序,那么了解基础的术语和技术就显得至关重要。本章
将介绍云原生应用所需的重要技术,最后会概述微服务架构。
2.1 容器
最初,容器第一次站在聚光灯下是由初创公司和云计算公司推动的。但是在过去几年
中,容器已经成为现代化应用程序的代名词。现如今已经很少有公司不在使用容器了,
哪怕有,他们也一定是正处于评估使用容器的阶段。这也就意味着,架构师和开发者们
需要了解容器能用来做什么,以及不能做什么。
如今人们在谈论容器时,大多数时候指的都是“ Docker 容器”。尽管在 Linux 操作系
统(OS)中,容器的历史可以追溯到十多年以前,然而真正使得容器广为人知的,是因
为 Docker。容器的最初想法是把操作系统分割成几块,每一块都可以安全地运行应用程
序,它们之间不会产生相互干扰。这种隔离的办法是用命名空间(namespace ...