我在我的haproxyconfiguration中有这样的东西
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
我只是用上面的例子。 由于粘贴表由一个键索引, 在这种情况下,它是请求标题MYHDR。 gpc0计数器能够保持一些值。 我可以通过使用UDS套接字和socat从外部设置值。
set table name-of-the-table key <MYHDR> data.gpc0 <someval>
但是,我不知道如何设置haproxyconfiguration内的gpc0的值。
我想到的是这样的:
对于一个请求,使用stick-table作为通用散列表,存储key = req.hdr(MYHDR),value = src(或者其他一些东西)
稍后我将使用密钥的值为无关的请求做出路由决策。
我找不到用这种方式使用粘贴表的方法。 有什么我错过了吗? 在任何情况下,在haproxyconfiguration中提供set-gpc0方法是否有意义? 有办法增加和清除,但没有设置一个具体的价值。
我意识到gpc中的c代表计数器,我并没有将它完全用作计数器,而是将其视为初始化计数器到特定值,而不是从0开始。