gpt4 book ai didi

Docker 网络最佳实践

转载 作者:IT老高 更新时间:2023-10-28 21:25:24 26 4
gpt4 key购买 nike

我有大约 4 个微服务、一个 Keycloak 和一个 RabbitMQ 服务器,我想通过 Docker 部署。每个微服务都必须能够与 Keycloak 对话,并且有些微服务需要与 RabbitMQ 对话。

为了保持整洁,我想为 Keycloak 创建一个 docker-compose 文件,为 RabbitMQ 创建一个文件,为每个微服务创建一个文件。这是正确的方法吗? (每个微服务都有自己的数据库。)

Image Microservices Relations etc.

MS A、B、C、D 需要能够调用 Keycloak; MS C、D 需要能够与 RabbitMQ 对话。

将所有微服务与 Keycloak/RabbitMQ 服务器连接的最佳方式是什么?一些微服务还需要能够相互通信。

最佳答案

你可以通过 docker 来做,但是你需要考虑以下几点,

  • 为什么要部署

如果答案是开发或测试,那么是的,您可以使用 docker compose。它可以帮助您从一个地方启动所有容器,并且您可以将它们配置在一个文件中。您可以通过 docker compose 将 keycloak、rmq 数据库和服务全部设置在同一主机上,并且它们可以相互通信

如果你想为 prod 或 prod 像 env 做这件事,那么我们可以看看 docker swarms。它是 docker compose 的增量更新,可让您在多个主机上部署容器。

如果您只有四个服务,您可以使用它,但如果您有更多,或者您需要更好地控制服务的部署、运行方式并需要更多指标和接触点,请选择 Kubernetes。

如果您想将数据库保存在容器中,我不太确定。容器是易变的,但它们共同为您提供高可用性,但对于数据库和 rmq,我个人不会将它们保存在容器中用于生产,但您可以阅读并根据您的需要做出决定。

Docker swarms 和 kubernetes 也可以用于开发和测试环境。它们始终可以在单个主机上运行。

关于Docker 网络最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52319370/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com