【问题标题】:How to make haproxy dispense two following requests to a node如何使 haproxy 向节点分配以下两个请求
【发布时间】:2019-08-27 15:46:52
【问题描述】:

在双节点场景中,我希望 haproxy 在切换到下一个节点之前向每个节点分配两个请求。

我有一个消息应用程序,它发出一个请求以获取 messageID,然后发出下一个请求以发送消息。

如果我在两台后端服务器上使用标准循环算法,这将导致一台服务器仅获取 messageID 请求,而另一台服务器则负责所有消息发送。

这并不是真正的平衡,因为提供 messageID 对服务器来说是一件轻而易举的事情,并且处理可能高达数百 MB 的消息全部由另一个节点完成。

我查看了加权循环法,但如果对两台服务器都使用 2 的权重,如果似乎没有成功,因为权重似乎是相对于彼此计算的。

我很高兴有任何提示,如何在发送两个请求而不是一个请求后实现 haproxy 切换后端节点。

这是我目前的配置,它仍然会导致一个更清晰的一个这里一个那里循环模式:

### frontend XTA Entry TLS/CA
frontend GMM_XTA_Entry_TLS_CA

  mode tcp

  bind 10.200.0.20:8444

  default_backend GMM_XTA_Entrypoint_TLS_CA

### backend XTA Entry TLS/CA

backend GMM_XTA_Entrypoint_TLS_CA

  mode tcp 

  server GMMAPPLB1-XTA-CA 10.200.0.21:8444 check port 8444 inter 1s rise 2 fall 3 weight 2

  server GMMAPPLB2-XTA-CA 10.200.0.22:8444 check port 8444 inter 1s rise 2 fall 3 weight 2

好吧,如前所述,我需要一个“这里两个请求,那里两个请求”循环模式,但它一直在做“一个这里,一个那里”。

很高兴任何提示,干杯, 阿伦德

【问题讨论】:

  • 虽然这不是您要求的负载平衡算法,但您是否考虑过使用balance random?这将随机化哪个服务器处理哪些请求,因此它应该避免您上面描述的问题。 (haproxy.com/blog/haproxy-1-9-has-arrived/…)

标签: haproxy


【解决方案1】:

要在请求一次到达服务器 2 时获得所需的行为,您可以为每个后端添加额外的连续服务器行,如下所示:

backend GMM_XTA_Entrypoint_TLS_CA
  balance roundrobin
  mode tcp 

  server GMMAPPLB1-XTA-CA_1 10.200.0.21:8444 check port 8444 inter 1s rise 2 fall 3 
  server GMMAPPLB1-XTA-CA_2 10.200.0.21:8444 track GMMAPPLB1-XTA-CA_1 
  server GMMAPPLB2-XTA-CA_1 10.200.0.22:8444 check port 8444 inter 1s rise 2 fall 3
  server GMMAPPLB2-XTA-CA_2 10.200.0.22:8444 track GMMAPPLB2-XTA-CA_1

但是,如果您可以使用 HAProxy 1.9 或更高版本,您还可以使用 balance random 选项,该选项应该在您的服务器上随机平均分配请求。我认为这可以更直接地解决您上面所说的平衡问题。此外,如果请求类型发生变化,使用balance random 仍会随机平衡您的请求。

【讨论】:

  • 每个后端服务器的两行让我很感兴趣,我会尽快检查,谢谢。
  • 非常感谢@mweiss,这对我很有用。随机化不是理想的解决方案,因为我会让场景以可确定的行为工作。
【解决方案2】:

在后端使用 4 个服务器条目的建议答案完成了这项工作。 我不确定它是否是最优雅的解决方案,但它确实帮助我更多地了解后端的使用,再次感谢您。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-05
    • 2023-03-09
    • 2023-02-21
    • 1970-01-01
    • 2018-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多