是否可以将请求拆分为多个端点服务器?
所以例如: 如果服务器A接收到一个请求,它将把它转发到3个不同的服务器(B,C和D),这些服务器将通过X-Forwarded-For标头接收该原始请求。
forward
request => A ========> B
========> C
========> D
对此问题的回答可以很简单200 OK。
到目前为止,我已经使用过HAProxy和Apache的mode_proxy而没有成功。
另请阅读HTTP Pipelining,但我不认为这是这种情况。
答案 0 :(得分:6)
Gor就是为了做到这一点。
向Arthur Lutz提示,以便发布答案here。
答案 1 :(得分:1)
嗯。我该怎么办?大多数网络设置,无论是执行代理请求还是负载平衡,都会在传入请求与特定请求的最终目标之间保持一对一的关系。我想你需要一些代码。我想我会在C中使用mod_perl或自定义apache模块在早期阶段拦截请求,并使用子请求进行多路由。
答案 2 :(得分:0)
这是我为与Node.js类似目的而编写的反向代理/负载平衡器(它只是出于娱乐目的,目前还不能用于生产)。
https://github.com/losnir/ampel
这很自以为是,目前支持:
GET
使用循环选择(1:1)POST
使用请求拆分。没有“主”和“影子”的概念-响应的第一个后端是将服务于客户端请求的后端,然后所有其他响应都将被丢弃。如果有人发现它有用,那么我可以改进它以使其更加灵活。