【发布时间】:2019-04-11 04:35:56
【问题描述】:
为了进一步了解 Docker,我想尝试编写一个自定义负载均衡器。我正在考虑使用默认网桥驱动程序创建一个 docker 网络,并将负载均衡器应用程序放在该网络的代理容器中。我将运行一个或多个具有多个副本的服务,并且代理将使用循环将流量路由到每个容器。
我认为代理应该知道存在于同一网络中的所有其他实例以及它们提供的服务以进行负载平衡。以下是我的想法:
- 对于网络中运行的每个容器,向代理发送请求以告知其可用性状态。我发现这可行,但需要自定义所有容器(定期发送请求)。
- 让代理查询主机的网络状态:我注意到命令
docker network inspect提供了有关网络配置以及网络内运行的容器的详细信息,所以我想我也可以将此信息发送给代理.
我的问题是:首选哪种方法?第二种方法是否可行?如果是,是否有任何指南或文档我应该查看?我对操作系统和网络有一点了解,因此非常感谢任何帮助将这些东西放在一起的帮助。
【问题讨论】:
标签: linux docker networking load-balancing