在 docker swarm 模式下,我有
工作节点 1 运行 Service1 和 Service2 工作节点 2 运行 Service1 和 Service2
工作节点 1 上的服务 1 需要调用服务 2 上的 API
当 Service1 调用 api 时,每次它在 node1 的 Service2 和 node2 之间进行负载平衡。
如何强制 docker 始终到达 node1 的服务 2,直到它关闭?
在 docker swarm 模式下,我有
工作节点 1 运行 Service1 和 Service2 工作节点 2 运行 Service1 和 Service2
工作节点 1 上的服务 1 需要调用服务 2 上的 API
当 Service1 调用 api 时,每次它在 node1 的 Service2 和 node2 之间进行负载平衡。
如何强制 docker 始终到达 node1 的服务 2,直到它关闭?
这是不可能的。
Docker swarm 没有在其 dns 服务发现中构建任何位置感知逻辑。任何给定服务的服务 vip 将在服务中的所有任务之间以循环方式负载平衡,无论它们位于何处。
有一个开放的功能请求要求此功能:https ://github.com/moby/moby/issues/32854