haproxy:在前端或后端部分明确设置 gpc0 值

haproxy:在前端或后端部分明确设置 gpc0 值

我的 haproxy 配置中有类似这样的内容

backend myservice
    option httplog
    stick-table type string size 10 expire 10m store gpc0
    stick store-request req.hdr(MYHDR)
    server server1 127.0.0.1:9494  check inter 1s rise 1 fall 1

我只是用上面的内容作为例子。由于 stick 表是通过一个键来索引的;在本例中,它是请求标头 MYHDR。gpc0 计数器能够保存一些值。我可以使用 UDS 套接字和 socat 从外部设置该值。

set table name-of-the-table key <MYHDR> data.gpc0 <someval>

但是,我不知道如何在 haproxy 配置中设置 gpc0 的值。

我的想法是这样的:

对于请求,使用 stick-table 作为通用哈希表并存储 key=req.hdr(MYHDR)、value=src(或其他内容)

稍后我将使用该键的值对不相关的请求做出路由决策。

我无法找到以这种方式使用 stick-table 的方法。我是否遗漏了什么?无论如何,在 haproxy 配置中提供 set-gpc0 方法是否有意义?有增加和清除的方法,但不能设置为特定值。

我意识到 gpc 中的 c 代表计数器,而我并没有真正将其用作计数器,而是将其视为将计数器初始化为特定值,而不是从 0 开始。

相关内容