本文主要将 Serverless 应用引擎(Serverless App Engine,简称 SAE) 涉及的基本概念进行定义和解析,方便您更好地理解相关概念。

应用实例

应用运行的最小单元。应用通常是在一个或者多个实例上运行的,每个应用可以拥有多个部署版本,不同的实例上运行着不同的新、旧版本的应用程序。

命名空间

逻辑隔离的运行环境。从应用的服务调用与分布式配置推送的视角隔离不同的运行环境,如开发环境、测试环境、生产环境等。

容器

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

启动命令

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

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

应用健康检查

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

SAE 提供 2 种应用健康检查方式:
  • 通过应用存活探针(Liveness)检查应用实例是否存活,如果失败,系统会执行重启操作;
  • 通过应用业务探针(Readiness)检查应用业务是否就绪、是否准备好处理用户请求,如果未准备就绪,则屏蔽对该应用实例的访问;如果成功,则开放对该应用实例访问。

应用配置管理

一款在分布式架构环境中对应用配置进行集中管理和推送的工具类产品。您可以在 SAE 中使用该功能对应用配置进行集中管理和推送,同时还可以基于命名空间在不同环境间进行配置的隔离和同步。

EDAS Container

使用 HSF 框架开发的应用运行的基础容器。其内包含 Ali-Tomcat 和 Pandora。SAE 除了支持业界流行的微服务框架 Spring Cloud 和 Dubbo 外,还支持阿里自研的 HSF 框架。