基本概念

在使用Serverless 应用引擎 SAE(Serverless App Engine)前,需了解该产品所涉及的概念。本文介绍与SAE产品相关的专有名词与基本概念。

基本概念总览

分类

资源

概念

命名空间

微服务应用

应用配置管理应用实例应用健康检查启动命令

任务

任务实例任务模板任务记录启动命令

基础信息

容器容器镜像

命名空间

逻辑隔离的运行环境。

包含K8s的命名空间和微服务的命名空间两层含义。从应用的服务调用与分布式配置推送的视角隔离不同的运行环境,例如开发环境、测试环境、生产环境。

应用

应用是SAE管理的基本单位。

一个应用内通常包含一个或多个实例。SAE提供了完整的应用生命周期管理机制,可以完成应用从发布到运行过程的全面管理,包括应用创建、部署、启动、回滚,扩缩容等操作。

应用实例

应用运行的最小单元。

应用通常在一个或者多个实例上运行,应用可以拥有多个部署版本,不同实例上运行着不同版本的应用程序。

微服务应用

提供服务注册发现和服务治理的能力,例如使用SpringCloud、Dubbo、Motan、Mesh以及K8s Service框架来开发和通信的应用。更多信息,请参见SAE微服务相关概念和能力

任务

短时任务(Job)。

具备单机、广播、并行计算、分片运行、定时、失败自动重试、事件触发等特性。

任务实例

基于任务模板创建的执行业务逻辑的具体实例,SAE单个任务中的单个实例是调度的最小单位。

任务模板

可以自动创建具体任务的模板。

可以对任务模板进行创建、修改、复制、停止和删除等操作。任务模板中可以对任务执行时间、实例规格、并发数等配置项进行配置。任务模板和任务的关系,类似面向对象程序设计中的类和对象的关系,任务模板是静态的概念,任务是动态的概念,可以根据单个任务模板批量创建多个任务。

任务记录

任务执行的记录。

可以查看和删除创建过的任务的执行记录,并支持通过状态筛选,状态分为:未执行、执行成功、执行失败、执行中。任务记录列表可以查看任务ID、执行状态、创建时间、完成时间、正在运行的实例数、成功运行的实例数和运行失败的实例数。

启动命令

设置容器启动和运行时所需要的命令。

启动容器就是启动主进程。启动主进程前,需要对MySQL数据库进行数据库配置、初始化等操作。在制作镜像时请在Dockerfile文件中设置ENTRYPOINTCMD。例如在Dockerfile中设置了ENTRYPOINT ["top", "-b"],则在容器启动时执行该命令。

应用健康检查

在应用运行过程中,定时对应用实例健康状况进行检测的系统操作。

SAE提供以下应用健康检查方式:

  • 通过应用存活探针(Liveness)检查应用实例是否存活,如果检查结果是非存活状态,则SAE会执行应用实例重启操作。

  • 通过应用业务探针(Readiness)检查应用业务是否就绪、是否准备好处理用户请求,如果未准备就绪,则屏蔽对该应用实例的访问;如果成功,则开放对该应用实例访问。

应用配置管理

一款在分布式架构环境中对应用配置集中管理和推送的工具类产品。

您可以在SAE中使用该功能对应用配置进行集中管理和推送,同时还可以基于命名空间在不同环境间进行配置的隔离和同步。

容器

镜像运行时的实体。

可以对容器进行创建、启动、停止、删除和暂停等操作。镜像和容器的关系,类似面向对象程序设计中的类和实例的关系,镜像是静态的概念,而容器是动态的概念。实例与容器是一对一的关系。

容器镜像

容器镜像是一种容器化标准交付物,用于打包应用程序及其依赖的环境。可以基于Dockerfile文件将应用构建为容器镜像并上传到容器镜像仓库中,然后您可以在测试或者生产环境中拉取容器镜像并启动容器。更多信息,请参见SAE中如何运行镜像