HAProxy通用计数器和棒表

时间:2017-03-07 08:10:28

标签: load-balancing haproxy rate-limiting

我正在尝试使用HAProxy进行速率限制。 我需要跟踪几个端点并单独限制它们。 到目前为止,我使用的是通用计数器。但是,只有3个,sc0到sc2。

在文档中,它提到这些计数器上的所有操作都采用可选的表参数,但是,如果我可以跟踪不同表上的不同内容,但使用相同的计数器,则不清楚。

换句话说:是3个通用计数器的全局限制,还是每个粘性表?

如果在正确的表格定义和跟踪指令之后,我

sc1_inc_gpc0(table1)

(并且,在不同条件下)

sc1_inc_gpc0(table2)

然后有2个acl规则 acl X sc1_get_gpc0(table1) gt 1 acl Y sc1_get_gpc0(table2) gt 1

两个acl是否会独立工作,或者他们会对所有效果跟踪同一个计数器?

感谢您的帮助! (如果您想知道:由于多种原因,目前我无法使用与HAProxy不同的解决方案进行速率限制)

1 个答案:

答案 0 :(得分:6)

查看源代码并进行测试后自我回答。

  • 是的,可以在不同的表格上使用相同的计数器
  • 此外,您还可以在构建时增加可用计数器的数量。默认值为3,但可以设置为10。然后可以使用像sc_gpc0_rate(<ctr>[,<table>])这样的函数的通用版本,将新计数器的索引作为第一个参数传递。