如何在 haproxy 中保持 REST 生命周期

如何在 haproxy 中保持 REST 生命周期

我想将给定资源的所有请求路由到同一台服务器。如果在服务器上创建资源,则所有后续请求都应路由到同一台服务器。

粘贴在 url 上不是问题,但我怎样才能从第一个响应中填充粘贴表?

例子:

请求:POST /resources

{
  "value": "bla"
}

回复:

{
  "id": "1234",
  "value": "bla"
}

获取/资源/1234

{
  "id": "1234",
  "value": "bla"
}

第二个请求应该路由到处理第一个请求的同一台服务器。有没有办法用 haproxy 来实现这一点?

答案1

终于找到了一个可行的解决方案。我发布此内容,以防其他人对该解决方案感兴趣。相关行在后端部分如下:

    acl recources_path capture.req.uri,field(1,?) /resources

    stick-table type string len 10 size 5M
    stick match capture.req.uri,field(3,/) 
    # trying to parse the id out of the post response
    stick store-response res.payload(0,0),field(2,{),field(4,\") if METH_POST recources_path

相关内容