【问题标题】:Advices about website's architecture and how to deal with docker containers关于网站架构以及如何处理 docker 容器的建议
【发布时间】:2019-07-16 16:54:51
【问题描述】:

我想开始一个项目,但我不知道这是否可能(我猜是这样),我想用不同的语言实现 3 个版本的后端和前端,如下图所示。我想对每个“版本”进行 dockerize。 到目前为止一切顺利。

Basic Architecture

我想知道最好的解决方案是什么;是否要运行所有容器并将每个容器映射到不同的端口并在单击“切换到角度”之类的按钮时在它们之间切换?

或者一个解决方案,每次我单击“切换到反应”之类的按钮时,它都会启动运行反应应用程序的容器并停止旧的容器。我想这个效率更高,因为只有两个容器在运行(后端和前端),但我不确定是否可以通过单击按钮来启动容器。

第二个问题是我如何处理 X 容器来选择运行哪一个?

我可以在哪里部署这种应用程序?有任何 PaaS 或其他建议吗?

如果您有任何其他建议要提供,我会很乐意接受的

注意:该项目有绝对 0 的兴趣,它只是培训和发现技术。

【问题讨论】:

    标签: docker web architecture frontend backend


    【解决方案1】:

    所以您可能想研究一下 Kubernetes。 Kubernetes 是一种容器编排服务,可让您非常无缝地连接到其他正在运行的容器。例如,您可以运行 6 个容器,每个服务一个,然后能够通过 env 变量在容器之间切换。例如,如果你在 react 容器中运行并且你想使用 Go BE,你可以设置 BE_CONTAINER=GO。然后在您的前端,您将读取 env var 并连接到该正在运行的服务器。

    或者,您可以运行 9 个前端,而只运行 3 个后端。每个容器仅与单个后端相关。这显然不太理想,但却是一种选择。

    当您刚开始时,Kubernetes 通常是一个非常高级的主题。您必须开始将您的项目视为“大局是什么”和“扩展有多容易”。我喜欢 Kubernetes,因为我确实觉得这对你来说可能是一个不错的选择,但它不是唯一的选择。您可以 100% 坚持使用 docker。但是对于您所描述的应用程序,我个人会考虑使用 Kubernetes。

    【讨论】:

      猜你喜欢
      • 2010-11-08
      • 1970-01-01
      • 2015-07-26
      • 2023-03-19
      • 1970-01-01
      • 2019-03-22
      • 2017-01-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多