如何在HAProxy中忽略均衡中的信号器?

问题描述 投票:0回答:1

在计算与服务器的连接数时,我们需要使 HAProxy 忽略 SignalR 请求。

问题是有时我们通过 SignalR 发送大量消息。 HAProxy 看到这些消息并做出解决方案,该服务器非常繁忙,因此将用户重定向到另一台服务器。但这些消息非常轻量,服务器并不忙于处理它们。因此,我们只想通过普通的http请求来统计服务器的业务,不包括信号请求。我们该如何配置呢?

附注我们使用粘性会话。

signalr load-balancing haproxy
1个回答
0
投票

您是否尝试创建访问控制列表并确定它是信号还是常规 HTTP 请求?

# ACL to identify SignalR requests
  acl is_signalr path_beg -i /signalr

  # Use the is_signalr ACL to bypass connection counting for SignalR requests
  stick on src if !is_signalr
  stick store-response src if !is_signalr

  server server1 192.168.1.1:80 check
  server server2 192.168.1.2:80 check

acl is_signalr path_beg -i /signalr
行创建一个名为
is_signalr
的 ACL,它匹配路径以“/signalr”开头的请求。根据您的 SignalR 端点调整此路径。
stick on src if !is_signalr
行将 HAProxy 配置为使用客户端的源 IP 地址来实现粘性,但前提是请求不是 SignalR 请求。

stick store-response src if !is_signalr
行确保基于源IP地址存储粘性信息,以响应非SignalR请求。

© www.soinside.com 2019 - 2024. All rights reserved.