头图

云托管是为开发者提供的云原生全托管的容器后端云服务,控制台界面简洁,操作便捷,并且为开发者首个环境赠送 3 个月的免费额度,果断创建环境来试一试。

产品优势

网络加速与网络安全

低网络延迟: 客户端请求从微信就近节点经过微信专线到达服务,服务端内网专线访问微信接口。

免费防DDoS攻击: 服务端接口可以禁止公网访问,只接受客户端请求通过专线访问,从根本上杜绝DDoS可能且无需支付额外费用。(专线安全性由微信团队支持,与微信客户端安全级别相同)

天然免鉴权:项目服务可以直接获取微信服务端接口令牌,由小程序或公众号端发送的请求,免鉴权直接获取用户信息。

开放接口服务:提供所有微信服务端接口的免密中转,集成「微信支付」,无需加解密处理。

消息推送服务:微信生态内各种消息,可配置多个服务和具体路径来接收,无需关心消息的加密和解密。

免除服务器运维工作

自动流水线:提供流水线能力,可以实现从代码仓库到服务发布的全自动流程,无需反复登录控制台操作。

部署安全可控:提供灰度发布、定向开发测试、版本回滚等多样部署能力,业务更新迭代更稳更安全。

机器人提醒:提供企业微信机器人提醒,第一时间告知发布情况。

日志系统:对服务运行提供实时日志收集和查询能力,支持多种检索语法。资源监控:实时反映环境各个服务和各种资源的使用消耗情况,以及服务内版本运行的具体情况。

资源告警:提供丰富的告警渠道,实时感知环境资源使用的各项指标运行情况,支持自定义规则。

集成SDK:小程序和公众号开发接入,可直接使用自带的SDK操作,无需自己封装。

服务端所需资源一站式管理

MySql:提供「Serverless形态的Mysql」,根据业务使用需求自动扩缩容,不产生瓶颈;

对象存储:简单配置就可以在服务内和客户端使用,自带安全域名校验,CDN缓存加速和其他安全能力;

可延展性:可以结合其他云资源搭配使用,随心选择合适的云上资源,打造自己的服务体系。

今天以部署一个GitHub开源的网易云音乐 API项目为例带领大家入门微信云托管,快速部署自己的后端应用!

项目介绍

网易云音乐 NodeJS 版 API GitHub:https://github.com/Binaryify/NeteaseCloudMusicApi
  • 全部接口已升级到最新
  • 具备登录接口,多达200多个接口
  • 更完善的文档

项目的部署选择易操作上手的微信云托管,可以很方便的使用容器服务,降低操作门槛。

部署项目

1. 准备代码

将本项目fork到自己仓库或者下载到本地。

$ git clone https://github.com/Binaryify/NeteaseCloudMusicApi.git

2. 创建服务

进入云托管官网(https://cloud.weixin.qq.com/),扫码选择目标小程序登录,创建云托管环境;
创建成功后,将进入当前环境的服务管理页面;
点击「新建服务」,输入服务名称,如允许公网访问服务,开启即可;

服务创建完成后点击「服务详情」即可查看云托管自动分配的公网及内网域名。

3. 发布版本

依次点击「管理」-「版本列表」-「新建版本」,根据自己意愿选择代码库拉取(需授权)或本地代码上传,填写完成相关信息后点击确定。
该项目已完成代码容器化,大家可自行查看Dockerfile文件。
代码容器化为必须步骤,否则无法将代码构建成镜像部署到容器实例上。

提交后点击「日志」可查看部署进度,创建成功后版本的状态将会由创建中转为正常

4. 部署发布

版本创建成功还不能通过域名访问项目,需要完成发布操作。
点击「部署发布」,选择发布的版本后点击「全量发布」。

发布成功后通过访问刚才服务详情中的公网域名就可以看到效果了,如下图。

总结

本项目实战只使用了云托管基础的容器服务能力,如果你还想做更多,可以试用其他更多能力,比如:

  • CI/CD流水线部署发布
  • 版本测试和灰度发布
  • 负载均衡
  • 自定义域名,备案
  • 日志监控告警
  • ServerLess版本的Mysql数据库

基本上覆盖了后端开发所需使用的所有能力,很适合入门学习使用。

作者:云开发布道师王卓林

参考资料

云托管:https://cloud.weixin.qq.com

云托管文档:https://developers.weixin.qq.com/miniprogram/dev/wxcloudrun/src/basic/guide.html


CloudBase云开发
425 声望438 粉丝

云开发(Tencent CloudBase,TCB)是云端一体化的后端云服务 ,采用 serverless 架构,免去了移动应用构建中繁琐的服务器搭建和运维。同时云开发提供的静态托管、命令行工具(CLI)、Flutter SDK 等能力极大的降...