我应该将 ORM 保存在分布式应用程序中的什么位置?
Where do I keep ORM in a distributed app?
我正在设计一个可扩展的网络应用程序。我在一个容器实例中有 APIs (Django Rest Framework),在另一个容器实例中有 Web App (Django),在另一个容器实例中有数据库 (Postgreql),最后在另一个容器实例 (Azurite) 中有 CDN。我想分离 API 因为移动应用程序最终会使用相同的东西。
问题:
- 在这种情况下我应该把 ORM 放在哪里?
- 如果我将它保留为 Web 应用程序的一部分,那么 API 如何识别和使用
对象?
- 或者,如果我将它们保留为 API 服务的一部分,前端如何
(网络应用程序)了解对象?
我建议您将 DRF 代码与 Django 的其余部分一起保存,并将它们一起容器化。
至于 ORM,重要的是 Postgres
的容器。例如,您不能将 models
撕成一个单独的容器。
总而言之,您可以拥有以下容器:
- 一个用于 DRF 和 Django
- 例如,一个用于您的数据库层 (
Postgres
)。
- 还有一个给你的
CDN
。
不用说,您也可以单独容器化您的网络服务器。
我正在设计一个可扩展的网络应用程序。我在一个容器实例中有 APIs (Django Rest Framework),在另一个容器实例中有 Web App (Django),在另一个容器实例中有数据库 (Postgreql),最后在另一个容器实例 (Azurite) 中有 CDN。我想分离 API 因为移动应用程序最终会使用相同的东西。
问题:
- 在这种情况下我应该把 ORM 放在哪里?
- 如果我将它保留为 Web 应用程序的一部分,那么 API 如何识别和使用 对象?
- 或者,如果我将它们保留为 API 服务的一部分,前端如何 (网络应用程序)了解对象?
我建议您将 DRF 代码与 Django 的其余部分一起保存,并将它们一起容器化。
至于 ORM,重要的是 Postgres
的容器。例如,您不能将 models
撕成一个单独的容器。
总而言之,您可以拥有以下容器:
- 一个用于 DRF 和 Django
- 例如,一个用于您的数据库层 (
Postgres
)。 - 还有一个给你的
CDN
。
不用说,您也可以单独容器化您的网络服务器。