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