App Engine 标准环境运行时

App Engine 标准环境具有两代运行时环境。第二代运行时显著改进了 App Engine 的功能,并消除了第一代运行时的一些限制。本页面介绍了第一代和第二代运行时之间的相似之处和不同之处。

第二代 第一代
支持的语言 Python 3
Java 11+
Node.js
PHP 7/8
Ruby
Go 1.12+
Python 2.7
Java 8
PHP 5.5
Go 1.11
语言扩展和系统库支持 任何扩展或库 Python 2.7、PHP 5.5:使用许可名单的扩展程序和库
Java 8、Go 1.11:任何扩展程序或库
支持的 API

如需访问功能全面的 Google Cloud 服务,请使用开源 Cloud 客户端库

更新到 Python 3、Java 11+ 或 Go 1.12+ 运行时时,您可以继续使用许多 App Engine 捆绑服务。如需了解详情,请参阅 Python 3Java 11+Go 1.12+ 指南了解详情。

Cloud 客户端库和 App Engine 捆绑服务
对于大型 blob 文件存储,请使用 Cloud Storage 或继续使用 App Engine Blobstore API 捆绑服务。
App Engine Blobstore API
如需实现数据持久性,请使用 Datastore 模式 FirestoreCloud SQL 进行关系存储。或者,您可以继续使用 App Engine Datastore API 捆绑服务。
App Engine Datastore API
对于延迟任务的执行,请继续使用 Deferred API (Python)、DeferredTask API (Java) 和 Delay API (Go)。PHP 用户可以继续通过 Task Queues API 捆绑服务指定延迟执行。或者,您可以使用 Cloud Tasks 实现延迟功能。
App Engine Deferred API
对于图片处理,您可以使用 Cloud Storage 直接传送图片,也可以使用第三方内容分发网络 (CDN) 或图片处理库
或者,您可以继续使用 App Engine Images API 捆绑服务。
App Engine Images API
对于入站或出站邮件传递,请继续使用 App Engine Mail API 捆绑服务。或者,对于出站邮件传递,您可以使用第三方邮件提供程序,例如 SendGridMailgunMailjet
目前没有推荐的第三方入站消息传递替代方案。
App Engine Mail API
对于缓存应用数据,您可以并使用无服务器 VPC 访问通道创建一个 Memorystore 实例,将其连接到您的应用。 或者,继续使用 App Engine Memcache API 捆绑服务。 App Engine Memcache API
对于可搜索的文档索引,您可以托管任何全文搜索数据库,例如 Compute Engine 上的 Elasticsearch,并通过您的服务访问该数据库。Google Cloud Marketplace 还提供了基于 SaaS 的 Elasticsearch 服务。 或者,继续使用 App Engine Search API 捆绑服务。 App Engine Search API
如需运行外部任务,请继续使用 App Engine Task Queues API 捆绑服务来处理推送和拉取队列,或者将推送队列迁移到 Cloud Tasks
将拉取队列迁移到 Pub/Sub
App Engine Task Queue API
对于用户身份验证,请继续使用 App Engine Users API 捆绑服务,或迁移到用户身份验证选项中所述的任何身份验证服务。 App Engine Users API
外部网络访问 完全访问 Python 2.7、PHP 5.5:通过网址提取 API
Java 8、Go 1.11:完整访问权限。
文件系统访问 拥有对 /tmp 的读/写访问权限 Python 2.7、PHP 5.5:无
Java 8、Go 1.11:拥有对 /tmp 的读/写访问权限
语言运行时 未修改的开源运行时 针对 App Engine 进行了修改
隔离机制 基于 gVisor 的容器沙盒 基于 gVisor 的容器沙盒

App Engine 第一代运行时支持

App Engine 第一代运行时已终止支持。Google 将不再对已终止支持的运行时环境组件应用安全更新或补丁。

如需详细了解第一代运行时的支持方案,请参阅对旧版运行时的支持运行时生命周期

第一代和第二代运行时之间的相似之处

  • 扩增时间近乎即时,从而可以应对流量高峰
  • 应用使用相同的构建过程进行构建
  • 正式版服务的服务等级协议 (SLA) 相同
  • gcloud 命令支持相同,并且 GCP Console 界面相同
  • 免费层级

从第一代到第二代运行时的迁移资源

长期支持页面上提供了每种语言运行时的迁移指南。