部署单元

部署单元(Cell)定义了一个服务通信的边界,用以规整通信的链路,为发布部署时切流做无损发布、高可用应用架构(包括同城双活、异地多活),以及容灾切换和恢复打下基础。

部署域(Deployment Zone)对可用区(Available Zone)进行了划分,用以规整计算资源,为发布部署、容灾场景打好基础。SOFAStack 规定一个工作空间(Workspace)在一个地域(Region)中最多有两个部署域(仅做同城双活;对于同城,做多活意义不大)。

说明
  • 对于工作空间里有不超过两个可用区的情况,初始状态下,会有两个部署域,每个部署域包含一个部署单元,每个部署单元关联一个可用区。

  • 对于工作空间里有超过两个可用区的情况,也仅有两个部署域,这两个部署域的两个部署单元会分别关联最早创建的两个可用区,其余的可用区此时没有关联到任何布署单元;此时会导致没有关联到部署单元的可用区里的计算资源无法用于发布部署,所以必须通过发布部署产品关联到相应的部署单元中。

在 SOFAStack 平台中,一个部署单元里的一组服务优先被发现和访问(可以通过配置中心这类产品实现)。对于一个应用服务(Application Service)会关联一个或者多个部署单元,同时由多个计算节点(ECS)组成,每个节点都发布多个功能相同的服务。在把计算节点分配给应用服务时,会同时把计算节点分配到相应的部署单元里,这样就使得在同一个部署单元里的计算节点上发布的服务能够被优先访问,达到相同部署单元里的服务优先的目的。

在应用服务做发布部署时,现在就可以部署单元的维度进行操作,比如提供按照部署单元实施分组策略,做蓝绿发布等等。所以,在 SOFAStack 平台的发布部署和日常运维中会加强部署单元的透出,尽量屏蔽底层可用区(Available Zone)的概念。

部署单元、可用区和部署域的关系(同一个工作空间内)如下:

  • 一个部署单元在公有云下通常只会对应一个可用区;而由于会出现一个可用区资源售罄的场景,故此时,允许一个部署单元关联多个可用区。

  • 一个部署单元只能属于一个部署域。

  • 一个部署域可以有多个部署单元。

  • 一个部署域通常只会有一个可用区,但可以有多个可用区,原因和 1 一致。

  • 一个可用区不能同时属于多个部署域。

说明

在 SOFAStack 平台中,服务通常对应于 SOFA 的 RPC 服务。

创建部署单元

  1. 进入经典应用服务控制台,单击左侧导航栏中的 设置 > 环境参数 进入创建部署单元页面。

  2. 单击 + 新建部署单元,输入标识和描述。

    说明

    部署单元创建后不能删除,部署单元标识不能修改。

编辑部署单元

单击已有部署单元右侧的 编辑 图标,可对该部署单元进行编辑。

若工作空间添加了一个可用区,进入 经典应用服务 时会提示需要将可用区添加到部署域。

说明

目前需要刷新页面,才能看到提示信息。