有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
文档中心 > 云托管 CloudBase Run > 最佳实践 > 将您的服务迁移到云托管
大多数后台服务,通常包含以下组件:
服务本体。
持久化服务(各类数据库、文件存储)。
基础设施(如消息队列、服务注册发现中心、监控系统、日志系统等)。

迁移服务本体

CloudBase 云托管适用于部署无状态的容器化服务,您需要将您的服务改造为此种类型。

无状态服务

无状态服务即服务在处理单个请求时,不需要持久性地保存上下文,以保证服务可以做到任意横向扩容
无状态服务的每个服务节点之间是完全等价的,请求可能会由随机的任意节点进行处理,并且节点可能会被动态地销毁、重建、扩容,所以您不应该在节点上保存任何状态,例如:
使用本地内存储存 HTTP Session。
使用本地文件储存数据。
业务逻辑中使用某个节点的 IP。
如果您有以上的需求,可以考虑如下解决方法:
使用 Redis 等外部数据库储存 HTTP Session。
使用 CFS、对象存储等外部服务保存文件。
使用服务对外 URL。

容器化

CloudBase 云托管只能部署基于 Docker 容器的应用,为了将服务封装到容器中,您应该使用 Dockerfile 来定义您的应用运行环境。

使用标准输出打印日志

CloudBase 云托管会自动收集您应用产生的标准输出,并提供 服务日志查询 功能。

迁移数据库

如果您已经拥有腾讯云内的任意数据库实例,可以将数据库和您的云托管服务所在的 VPC 配置为同一个,或者 打通它们所在的 VPC

迁移基础设施

云托管应用可以通过其所在的 VPC 访问任意云上资源,如果您的基础设施已经部署在腾讯云内,则只需要 打通 VPC 即可让您的服务访问您的基础设施。