部署概述

最近更新时间:2024-08-05 15:23:11

我的收藏
本文介绍开始部署前您需要了解的一些基本事项。

使用限制

云托管暂不支持以下场景:
当前仅支持 HTTP 协议,通过域名调用服务。不支持 tcp/udp/mqtt 等其他协议。
不支持通过公网 IP 访问服务。
不支持部署 Docker Compose。
不支持接入 WAF。
不支持内网域名。
不支持一个服务开启多个监听端口。
不支持用来部署数据库/Redis 等有状态服务。

概念解释

环境

环境是所有资源的依托,使用云托管必须先创建环境。
环境之间所有资源都互相隔离,环境内资源之间可以通过内网调用,不同环境的资源之间只能使用公网调用。
不同环境独立计费并出账单。
不同环境无法共享资源包和套餐。
账号欠费时,所有环境都将被冻结,欠费超过7天,所有环境都将被删除,无法恢复。

用法推荐

用法一:根据用途区分环境,例如区分为测试环境、预发环境、生产环境等。
服务的管理、成员权限分配独立。例如生产环境权限控制可严于测试环境。
可根据实际用途配置不同级别的告警策略。例如生产环境告警条件更细致严格。
独立控制各环境的资源消耗、费用与预算。例如测试环境可以采用更小规格或更少数量的实例。
用法二:根据不同上层用户区分环境。例如 SaaS 类业务可以为不同用户分配对应的独立环境。
使不同用户的服务间逻辑隔离互不影响。
每个用户实际使用资源基于不同环境分别计费。
每个用户环境有独立的成员权限。

服务

服务是提供业务功能的主体,从现实感知角度上,一个服务对应一个域名,也就是调用方可以通过固定的域名访问到这个服务,不受服务更新迭代的影响。 服务的每次更新,都会产生一个新的版本,因此服务下可能包含多个版本。但服务在线上运行时只能有一个版本(一般是最新的版本)接入流量,响应请求。
特殊情况:在服务升级的过程中,如果需要灰度测试,可以同时有新旧两个版本都接入流量,这就是灰度发布。服务升级结束后,必须将所有流量都接入到新版本,或者全部回退到旧版本。
您需要根据业务需求,自行划分服务范畴,可以是一个功能(微服务的一个模块),也可以是几个功能的复杂组合(单一服务)。业务划分为不同的服务之后,不同服务之间就可以各自独立迭代,减少互相耦合影响;也可以各自独立扩缩容,更加精细地控制成本。
服务创建时,系统会分配一个公网域名,后续可绑定您购买并备案好的自定义域名。服务不支持通过 IP 访问。

版本

版本是由镜像启动的容器实例和相关配置组成的集合体,切实拥有运行的资源,可以直接发布到线上接入流量。 每次更新服务,都会创建出新的版本代替旧版本。
一个服务下有多个版本,版本号/部署 ID 会自动递增,不能自定义或修改。
支持最多2个版本有流量(服务灰度过程中),其余历史版本不能配置流量,只可用于回滚。

实例

每个版本根据当前流量负载情况+在服务设置中指定的实例最小最大值,会对应0~N个实例(容器)。可以理解为他们都是彼此的“复制”和“分身”,运行着完全一模一样的业务逻辑,可以分担处理请求。服务负载高时需要的实例数量多,服务负载低时需要的实例数量少,服务没有任何访问时,甚至可以不保有任何实例(等再次有访问时重新创建实例)。