【问题标题】:udp traffic with Iperf for haproxy使用 Iperf 的 udp 流量用于 haproxy
【发布时间】:2015-09-24 04:28:06
【问题描述】:

我正在开展我的个人项目,即使用 Docker 容器对 Haproxy 进行“性能评估”。我正在使用 Python 编程并使用 iperf 来生成流量。

我创建了几个 Docker 容器作为客户端和服务器。客户端应该通过充当负载均衡器的 Haproxy 容器向服务器发送 udp 流量。

问题是当我尝试将 udp 流量从客户端发送到服务器时,Haproxy 拒绝连接。 我在官方文档中没有找到如何绑定或监听 UDP 端口。

提前感谢您的回复。

这是我的 haproxy.cfg 的副本。

global quiet nbproc 4 daemon listen tcp_haproxy 172.17.4.230:5001 balance roundrobin server server0 172.17.4.227:5001 server server1 172.17.4.228:5001 server server2 172.17.4.229:5001

【问题讨论】:

    标签: python docker haproxy iperf


    【解决方案1】:

    当我读到它时,这个问题更多的是关于 UDP 负载平衡而不是 Docker。如果我误读了问题,请随时纠正我。

    你可能不喜欢这个答案,但这里是。 HAProxy 不支持 UDPofficial homepage 明确地将 HAProxy 描述为 TCP 和 HTTP 代理(暗示,这意味着“没有 UDP”)。还有this question on ServerFault关于UDP负载均衡的话题,也讨论了HAProxy,很快就解散了。

    由于我自己不喜欢“那不可能,处理它”作为答案,让我们看看替代方案。

    1. 一些询问 UDP 负载平衡的资源最终推荐 IPVS 作为负载平衡器。它是 Linux 内核的一部分,如果您正在寻找基于 Docker 的东西,这将使其成为一个糟糕的解决方案。如果这对您来说不是一个交易破坏者,那么short example on the Wikipedia page 可以通过三个 UDP 服务器根据您的场景进行调整:

      ipvsadm -A -u 172.17.4.230:5001 -s rr
      ipvsadm -a -u 172.17.4.230:5001 -r 172.17.4.227:5001 -m
      ipvsadm -a -u 172.17.4.230:5001 -r 172.17.4.228:5001 -m
      ipvsadm -a -u 172.17.4.230:5001 -r 172.17.4.229:5001 -m
      
    2. 通过快速的 Google 搜索可以找到替代的开源解决方案,例如 Pen。可能也值得一看?

    3. 确定不能改用 TCP? ;)

    【讨论】:

    • 是的,它是关于 UDP 负载平衡而不是 Docker。我使用 Docker 容器作为虚拟机的替代品……你没问题。我很感激你的回答。 1)它只是关于平衡和haproxy之间的性能评估。 2)感谢您的链接。 3)我需要比较一下TCP模式和UDP模式下的balance和haproxy,因为haproxy不支持udp负载均衡,没关系。再次感谢您
    • @user2567806,很乐意为您提供帮助。如果这回答了您的问题,请记住接受答案。 ;)
    【解决方案2】:

    截至 2016 年 3 月,该问题的最佳解决方案目前是 Nginx >=1.9.13:

    https://www.nginx.com/blog/announcing-udp-load-balancing/

    您可以像配置后端 TCP 反向代理一样为 UDP 上游配置 HA 和健康检查。对于我的项目,我们使用来自基本 Nginx 容器的自定义容器(可能与 OP 的 docker 用例相关)实现了一个解决方案,可以在此处找到:

    https://hub.docker.com/_/nginx/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多