首页 > 解决方案 > 如何使用单个 PostGreSQL,同时让两个在 Google App Engine 和 Google App Engine Flexible 中运行的 Django 应用程序访问它

问题描述

我有一个在 Google App Engine 上运行的 Django 应用程序(第一个应用程序)。

在 Google App Engine Flex 中运行着另一个耗时的应用程序(第二个应用程序)。

两个应用程序都连接到同一个 PostGreSQL 数据库。

当第二个应用程序完成执行时,它需要将结果写入数据库,第一个应用程序可以访问数据。

实现这一目标的正确途径是什么?

我应该使用完全相同的模型并期望一切都很简单吗?

标签: djangopostgresqlgoogle-app-enginegoogle-cloud-platformgoogle-flexible

解决方案


当您要同步 2 个应用程序时,最好的模式是使用 PubSub 来满足异步需求。应用程序在流程结束时将消息发布到 pubsub,您可以插入订阅(拉或推,完全取决于您的设计和要求)以触发另一个应用程序中的流程。

但是,不建议让 2 个应用程序使用相同的架构,当您想要改进架构时会遇到困难:如果您不想出现问题,则需要同时更新两个应用程序。微服务模式是 1 个应用程序 + 1 个数据库的微单体!


推荐阅读