资源模型

下图显示了服务的 Cloud Run 资源模型:

Cloud Run 服务和修订版本

该图显示了一个包含三项 Cloud Run 服务(Service AService BService C)的 Google Cloud 项目,每项服务都有多个修订版本。

在该图中,Service A 正在接收多个请求,因此需要启动和运行多个实例,每个实例都运行一个容器。请注意,Service B 当前尚未接收请求,因此尚未启动实例。Service C 在每个修订版本内为每个实例运行多个容器:请注意,只有入站流量容器接收请求。每个具有多个容器的实例都会以独立单元的形式进行扩缩。

Cloud Run 服务

Cloud Run 的主要资源是服务。 每项服务都位于特定的 Google Cloud 区域 (Cloud Run)。为了实现冗余和故障切换,服务会跨其所在区域中的多个可用区自动复制。给定 Google Cloud 项目可以在不同区域运行多项服务。

每项服务都会公开唯一端点,并根据需要处理的传入请求数量自动扩缩底层基础架构。

Cloud Run 修订版本

向服务执行的每次部署都会创建一个修订版本。修订版本包含一个或多个容器映像以及环境设置(如环境变量、内存限制或并发值)。

修订版本是不可变的,也就是说,修订版本一旦创建便无法修改。例如,将容器映像部署到新的 Cloud Run 服务时,第一个修订版本即会创建。如果接着将另一个容器映像部署到此同一服务,则第二个修订版本即会创建。如果随后设置了环境变量,则第三个修订版本即会创建,依此类推。

系统会尽快将请求自动路由到运行状况良好的最新服务修订版本。

Cloud Run 作业

每个作业都位于特定的 Google Cloud 区域中,并执行一个或多个容器以完成操作。一个作业由一个或多个独立的任务组成,这些任务在给定的作业执行中并行执行。每项任务都运行一个容器,可能会重试。

Cloud Run 作业执行

执行作业时,系统会创建一个作业执行,以启动所有作业任务。作业执行中的所有任务都必须成功完成,执行作业才视为成功。您可以设置任务的超时,并指定在任务失败的情况下的重试次数。如果任何任务的重试次数超出上限,则该任务会被标记为失败,并且作业会被标记为失败。默认情况下,可以并行执行的任务数最多为 100,但如果您的任何支持性资源需要并行执行任务,您可以指定较低的上限。

Cloud Run 实例

接收请求的每个修订版本都会根据处理所有这些请求所需的实例数量而自动扩缩。请注意,实例中的入站流量容器可以同时接收许多请求。利用并发设置,您可以设置可并行发送到给定实例的请求数上限。