Haproxy得到目标服务器信息

    假设有一台服务器装的是Haproxy,backend是N台真实服务器,当我们调用haproxy时,真实的服务器对我们是透明的,一般情况下我们并不需要知道我们发起的请求具体到达了哪台真实服务器,我们去饭店吃饭觉得菜好吃未必会要求看看厨师长得什么样。
   但有的时候,那N台真实服务器行为出现了不一致的情况,比如对于某个API, N-1台服务器都是能返回正确的结果,只有一台返回错误的结果。我们怎么知道是哪台?在haproxy的配置中可以实现。
    haproxy可以为每个返回的请求添加header信息。 至于如何配置,首先,配置server的时候要给个id,如:
server servername ip id 1

然后根据id定义acl:
acl rule_1 srv_id 1

最后是应用acl
rspadd ServerInfo:\ servername if rule_1

如此,在客户端接收到的response中,就可以得到name为ServerInfo的header了。

猜你喜欢

转载自zhukewen-java.iteye.com/blog/1703037
今日推荐