如果您正在使用Docker Swarm,则无需担心DNS配置,因为它已由覆盖网络处理。假设您有三种服务:
一个 乙 C
A是您的DB,B可能是第一个收集数据的服务,C可能是收到数据并更新数据库(A)
docker network create \ --driver overlay \ --subnet 10.9.9.0/24 \ youroverlaynetwork docker service create --network youroverlaynetwork --name A docker service create --network youroverlaynetwork --name B docker service create --network youroverlaynetwork --name C
一旦创建了所有服务 的 他们可以直接通过名字互相引用 强>
这些请求针对该覆盖网络上容器的所有副本进行负载平衡。所以A总是可以通过参考“获得B的IP” HTTP:// B “或者只是通过调用主机名B.
当你在Docker中处理负载平衡时,一个群服务就是 已经 内部负载平衡。一旦定义了要在端口8018上侦听的服务,所有群集主机将在端口8018上侦听并以循环方式将其路由到容器。
但是,最佳做法是在主机发生故障时让应用程序负载平衡器位于主机前面。