云引擎服务总览
云引擎是一个托管后端程序的平台,开发者可以将 Web 应用(例如一个网站),或者 Node.js、Python、Java、PHP、.NET、Go、C++ 等语言的后端程序(例如一个 RESTful API 服务器)部署到云引擎上,云引擎会自动从源代码构建出可运行的「版本」,然后将它运行在独立的容器中,同时提供日志和监控、负载均衡、平滑发布、弹性扩容等能力。此外,云引擎还提供了定时任务、域名和证书管理和 Redis、MySQL、MongoDB、Elasticsearch 等多种托管数据库供开发者使用。
部署应用
请从 快速开始部署云引擎应用 开始部署你的第一个应用,然后阅读特定语言的文档来了解更多有关云引擎运行环境的信息。
运行环境 | 支持版本 | 支持包管理器 | 文档页面 | 示例项目 |
---|---|---|---|---|
Web 前端 | Node.js >= 0.12 | NPM / Yarn | Web 前端运行环境 | Web 前端运行环境 § 快速开始 |
Node.js | >= 0.12 | NPM / Yarn | Node.js 运行环境 | node-js-getting-started (Express) |
Python | >= 2.7 | pip | Python 运行环境 | python-getting-started (Flask) |
Java | 8, 11–15 | Maven / Gradle | Java 运行环境 | servlet-getting-started spring-boot-getting-started |
PHP | 5.6, 7.0–8.0 | Composer (v1) | PHP 运行环境 | slim-getting-started |
.NET | 2.1 | dotnet | .NET 运行环境 | dotnet-core-getting-started |
Go | >= 1.10 | go mod | Go 运行环境 | golang-getting-started (Echo) |
C++ | GCC 9.4 | Bazel | C++ 运行环境 | cpp-socket (Bazel) |
部署游戏后端
除了部署 Web 应用外,云引擎还为游戏后端提供了额外的支持,包括使用 TCP 或 UDP 协议、最长 60 分钟的平滑关闭、允许客户端连接到指定实例等功能,你可以在云引擎所支持的所有运行环境中使用这些功能。
你可以先阅读 游戏后端参考架构 来了解在云引擎上运行游戏后端的推荐架构,或者从 快速开始部署游戏后端 开始部署第一个应用,然后在 游戏后端开发指南 中了解详细的接入方法。
云函数和 Hook
云函数是云引擎提供的一种经过高度封装的函数计算功能,可以自动地序列化 数据存储 服务中的各种数据类型,在我们的各个客户端 SDK 中也有对应的支持。Hook 功能则允许开发者在数据存储中的对象被创建、更新、删除,或用户登录、认证,实时通讯发送消息、创建对话、客户端上下线时触发自定义的逻辑,进行额外的权限检查。
使用云函数几乎不需要你有传统后端开发经验,可以帮助开发者专注在业务逻辑上,请从 快速部署云函数和 Hook 开始编写你的第一个云函数。
基于云函数我们还提供了 定时任务 和 云队列 等功能,可以对云函数进行更复杂的调度。如在特定时间或基于一定时间间隔来运行云函数,还有重试、去重、结果查询、延时任务等功能。
LeanDB 数据库
除了使用 数据存储 服务外,云引擎也提供了业界使用广泛的一些数据库的托管方案:
数据库 | 集群配置 | 集群可用性 | 文档页面 |
---|---|---|---|
Redis | 主从结构(1M/1S) | 默认高可用,自动切换 | LeanCache 使用指南 |
MongoDB | 副本集(1P/1S/1A) | 默认高可用,自动切换 | LeanDB MongoDB 使用指南 |
MySQL | 主从结构(1M/1S) | 默认高可用,自动切换 | LeanDB MySQL 使用指南 |
Elasticsearch | 单节点 / 三个节点 | 默认高可用,自动切换(三个节点时) | LeanDB Elasticsearch 使用指南 |
更多
- 命令行工具 可以用来部署、调试云函数项目,详见 命令行工具 CLI 使用指南。
- 除了使用数据存储 SDK,云函数也提供了 REST API,详见 云引擎 REST API 指南。
- 云引擎支持绑定 独立 IP,详见 云引擎独立 IP 指南。
- 在 深入了解云引擎 中我们会向有经验的开发者介绍云引擎背后的一些细节。