Http &引用;“拆分”;一个对多个服务器的请求

Http &引用;“拆分”;一个对多个服务器的请求,http,proxy,httpwebrequest,Http,Proxy,Httpwebrequest,是否可以将请求拆分到多个端点服务器 例如: 如果服务器A接收到一个请求,它将把它转发到3个不同的服务器(B、C和D),这3个服务器将接收带有X-Forwarded-For头的原始请求 forward request => A ========> B ========> C ========> D 对此问题的回答可以是一个简单的200 OK 到目前为止,我一直在使用HAProxy和Apac

是否可以将请求拆分到多个端点服务器

例如: 如果服务器A接收到一个请求,它将把它转发到3个不同的服务器(B、C和D),这3个服务器将接收带有X-Forwarded-For头的原始请求

              forward
request => A ========> B  
             ========> C
             ========> D
对此问题的回答可以是一个简单的200 OK

到目前为止,我一直在使用HAProxy和Apache的mode_代理,但没有成功


也可以阅读,但我认为这里不是这样。

嗯。我该怎么做?大多数网络设置,无论是执行代理请求还是负载平衡,都会在传入请求和该特定请求的最终目的地之间保持一对一的关系。我想你需要一些代码。我想我应该使用mod_perl或C中的定制apache模块在早期阶段拦截请求,并使用子请求执行多重路由

就是为了这样写的


发布答案的提示。

这里有一个反向代理/负载平衡器,我编写它的目的与Node.js类似(它只是为了好玩,目前还没有准备好生产)

它非常固执己见,目前支持:

  • GET
    使用循环选择(1:1)
  • POST
    使用请求拆分。没有“master”和“shadow”的概念——第一个响应的后端将服务于客户端请求,然后所有其他响应都将被丢弃

如果有人认为它有用,那么我可以改进它,使其更加灵活。

通过这种方式拆分请求,您希望实现什么?您只是需要请求的冗余日志记录吗;我需要将信息复制到两个不同的独立目标服务器。所有服务器都在同一个域中吗?不,每个服务器都位于远程IP上。服务器需要以多快的速度保持同步?也就是说,如果serverD在serverA或serverB之后几分钟更新是否可以?我看到GoR只将请求转发到另一台服务器,GoR是否可以将请求转发到多台服务器?当我意识到
GorePlay
实际上是
GorePlay
时,我有点失望。