我们有一个 Web 服务,目前每秒响应大约 300 万个 HTTP 请求。每个后端服务器能够处理大约 500 万个请求。所以瓶颈是 HTTP 前端。
因此,问题与负载均衡器的情况相反。我们通过让许多前端服务器将传入请求聚合大约 1 毫秒来解决这个问题。一旦特定前端服务器达到整毫秒,我们使用现有的单套接字连接将所有批处理请求(大约 100 个)发送到后端服务器。
这意味着我们的后端服务器获取包含一百个原始 HTTP 请求的请求,并以包含一百个请求的响应进行响应。
是否有标准协议来多路复用/批处理/聚合 HTTP 请求?HTTP2 中的多路复用将重点放在对单个请求的多个响应上。