在 docker 中分离数据库的优势?



情况1:Django+PostgreSQL (container(

案例2:Django(container(<-connect->postgresql(container(

(这些案例在一台服务器上(

分离或性能的优点是什么?

使用第二种情况的优点如下:

  • 将来可以使用负载均衡器,并部署多个连接到中央数据库的 django 应用程序。
  • 你不需要担心任何开发人员是否做了任何docker文件事故,因为你的django应用程序只会受到阻碍,而不是数据库。
  • 升级数据库服务器不会妨碍 django 服务器。
  • 您将采用解耦的方法,而不是紧密耦合的方法。

什么时候你应该使用带有postgres和django的单个docker的第一种方法:

  • 您正在构建爱好项目
  • 你不想进入细节和复杂性来使用多个docker,而只专注于在django上编码。

注意:一个不是爱好项目的项目是 Omnibus GitLab

Omnibus 是一种打包运行 GitLab 所需的不同服务和工具的方法,因此大多数用户无需费力的配置即可安装它。

这是一个巨大的docker 镜像,带有一个 Dockerfile 包括:

  • NGiNX
  • 雷迪斯
  • PostgreSQL
  • 普罗 米修斯
  • 领事

每当这些服务紧密耦合在一起时,保持整体模型是有意义的。

但即使在那里,您也可以选择连接到外部数据库(即。"非打包的PostgreSQL数据库",优点是与其关联的管理(备份/还原(可以委托给该外部服务。

如果您使用预打包的版本,则肯定拥有正确的版本,但您必须自己管理备份。

最新更新