我应该将 ORM 保存在分布式应用程序中的什么位置?

Where do I keep ORM in a distributed app?

我正在设计一个可扩展的网络应用程序。我在一个容器实例中有 APIs (Django Rest Framework),在另一个容器实例中有 Web App (Django),在另一个容器实例中有数据库 (Postgreql),最后在另一个容器实例 (Azurite) 中有 CDN。我想分离 API 因为移动应用程序最终会使用相同的东西。

问题:

我建议您将 DRF 代码与 Django 的其余部分一起保存,并将它们一起容器化。

至于 ORM,重要的是 Postgres 的容器。例如,您不能将 models 撕成一个单独的容器。

总而言之,您可以拥有以下容器:

  1. 一个用于 DRF 和 Django
  2. 例如,一个用于您的数据库层 (Postgres)。
  3. 还有一个给你的CDN

不用说,您也可以单独容器化您的网络服务器。