关于 routing mesh 的疑问


如下图:
docker-routing-mesh.png


查了网上一些解析:假设在myapp:80服务上,有1个manager节点和3个worker节点。当有人想要通过暴露的端口访问myapp:80的时候,运气好的话,会被外部的负载均衡器引流到worker-2,因为worker-2有2个前端容器的副本,随时都可以提供服务;但如果不幸访问myapp:80的请求,被重定向到了没有容器副本的worker-3,就是Routing Mesh技术发挥作用的时候了。worker-3上没有容器的副本,Docker Swarm Engine就会将流量重新路由到有足够副本的worker-2上提供服务。外部的负载均衡器不需要知道容器在哪里运行。Routing Mesh是自动完成这一系列动作的。

上面解析虽然 如果被重定向worker-3,也能够提供服务,但是这样会造成内部网络压力,返回的流量从 :worker-2-》worker-3-》客户端。

请问有没有方法可以做到像 lvs-tun 方式一样:让流量直接从worker-2 -->客户端。这样节省了worker-2-》worker-3之间的流量传输。

lvs-tun.jpg
已邀请:

要回复问题请先登录注册