在 Google Cloud 上运行的 Django 应用会在支持所有 Google 产品的相同基础架构上运行,这通常会提高应用适应可变工作负载的能力。
托管平台
可使用以下方案在 Google Cloud 上部署 Django:
Django 部署方案 | 开始 |
---|---|
App Engine 标准环境 | |
App Engine 柔性环境 | |
Cloud Run |
|
Google Kubernetes Engine (GKE) | |
Compute Engine |
如需详细了解这些平台之间的差异,请参阅 Google Cloud 上的 App Hosting 选项。
数据库
Django 对象关系映射器 (ORM) 最适合与 SQL 关系型数据库搭配使用。
如果您要启动一个新项目,Cloud SQL 是一个好的选择。您可以部署由 Google 管理和扩缩以及 Django 支持的 PostgreSQL 或 MySQL 数据库。
您可以使用 python-spanner-django 数据库后端部署采用 Spanner 后端的 Django。
有时,人们不得不使用 NoSQL 数据库。可以将 Django ORM 与 NoSQL 数据库搭配使用,但存在一些限制,但 Django 并未正式支持该数据库。目前支持多种社区支持的后端连接器 Datastore,包括 djangae(如果您使用的是 App Engine)或 django-gcloud-connectors(如果您使用的是 Cloud Run)。如果您选择使用 MongoDB,则可以使用 Cloud Marketplace 进行部署并自行管理,也可以使用 mLab 提供的代管式 MongoDB 托管服务。
缓存
Memorystore 同时为 Memcache 和 Redis 提供代管式托管选项。对于 App Engine,请参阅从 Memcache 迁移指南。
任务队列
Pub/Sub 为事件驱动型系统提供消息传递,Google Tasks 则提供异步任务执行;请参阅在 Google Tasks 还是 Pub/Sub 之间进行选择指南。对于 App Engine,请参阅从任务队列迁移指南。
许多社区支持的软件包都可以通过 Cloud Tasks 支持任务队列。