在使用Serverless 应用引擎 SAE(Serverless App Engine)前,需了解该产品所涉及的概念。本文介绍与SAE产品相关的专有名词与基本概念。
基本概念总览
分类 | 资源 | 概念 |
基础信息 |
命名空间
逻辑隔离的运行环境。
包含K8s的命名空间和微服务的命名空间两层含义。从应用的服务调用与分布式配置推送的视角隔离不同的运行环境,例如开发环境、测试环境、生产环境。
应用
应用是SAE管理的基本单位。
一个应用内通常包含一个或多个实例。SAE提供了完整的应用生命周期管理机制,可以完成应用从发布到运行过程的全面管理,包括应用创建、部署、启动、回滚,扩缩容等操作。
应用实例
应用运行的最小单元。
应用通常在一个或者多个实例上运行,应用可以拥有多个部署版本,不同实例上运行着不同版本的应用程序。
微服务应用
提供服务注册发现和服务治理的能力,例如使用SpringCloud、Dubbo、Motan、Mesh以及K8s Service框架来开发和通信的应用。更多信息,请参见SAE微服务相关概念和能力。
任务
短时任务(Job)。
具备单机、广播、并行计算、分片运行、定时、失败自动重试、事件触发等特性。
任务实例
基于任务模板创建的执行业务逻辑的具体实例,SAE单个任务中的单个实例是调度的最小单位。
任务模板
可以自动创建具体任务的模板。
可以对任务模板进行创建、修改、复制、停止和删除等操作。任务模板中可以对任务执行时间、实例规格、并发数等配置项进行配置。任务模板和任务的关系,类似面向对象程序设计中的类和对象的关系,任务模板是静态的概念,任务是动态的概念,可以根据单个任务模板批量创建多个任务。
任务记录
任务执行的记录。
可以查看和删除创建过的任务的执行记录,并支持通过状态筛选,状态分为:未执行、执行成功、执行失败、执行中。任务记录列表可以查看任务ID、执行状态、创建时间、完成时间、正在运行的实例数、成功运行的实例数和运行失败的实例数。
启动命令
设置容器启动和运行时所需要的命令。
启动容器就是启动主进程。启动主进程前,需要对MySQL数据库进行数据库配置、初始化等操作。在制作镜像时请在Dockerfile文件中设置ENTRYPOINT或CMD。例如在Dockerfile中设置了ENTRYPOINT ["top", "-b"]
,则在容器启动时执行该命令。
应用健康检查
在应用运行过程中,定时对应用实例健康状况进行检测的系统操作。
SAE提供以下应用健康检查方式:
通过应用存活探针(Liveness)检查应用实例是否存活,如果检查结果是非存活状态,则SAE会执行应用实例重启操作。
通过应用业务探针(Readiness)检查应用业务是否就绪、是否准备好处理用户请求,如果未准备就绪,则屏蔽对该应用实例的访问;如果成功,则开放对该应用实例访问。
分布式配置管理
分布式配置管理是SAE提供的一个高效配置管理方案,它支持动态更新、环境隔离、版本控制、加密安全及细粒度权限管理,旨在简化配置管理流程,提升系统可用性与安全性。
您可以在SAE中使用该功能对应用配置进行集中管理和推送,同时还可以基于命名空间在不同环境间进行配置的隔离和同步。
容器
镜像运行时的实体。
可以对容器进行创建、启动、停止、删除和暂停等操作。镜像和容器的关系,类似面向对象程序设计中的类和实例的关系,镜像是静态的概念,而容器是动态的概念。实例与容器是一对一的关系。
容器镜像
容器镜像是一种容器化标准交付物,用于打包应用程序及其依赖的环境。可以基于Dockerfile文件将应用构建为容器镜像并上传到容器镜像仓库中,然后您可以在测试或者生产环境中拉取容器镜像并启动容器。更多信息,请参见SAE中如何运行镜像。