Page 229 - Web性能权威指南
P. 229
HAProxy 是一个流行的开源负载均衡器,同时支持 NPN 协商和基于协商
后协议的路由。我的这篇文章是一个简单的介绍:“Simple SPDY and NPN
Negotiation with HAProxy”(http://hpbn.co/haproxy-npn)。
13.3.6 负载均衡器、代理及应用服务器
根据现有基础设施以及应用的复杂程度和规模,你的基础设施中可能需要一台或多
台负载均衡器(图 13-4)或者 HTTP 2.0 代理。
TLS+ALPN
HTTP2.0ޜခഗ
TCP
ሜ࢚ഗ
TLS+ALPN
HTTP 2.0ޜခഗ
TLS+ALPN ेڦ
ሜ࢚ഗ HTTP 2.0 TLS+ALPN
HTTP 2.0ޜခഗ
ݥेڦ HTTP 2.0ޜခഗ
HTTP 2.0
图 13-4:负载均衡器与 TLS 终止策略
最简单的情况下,HTTP 2.0 服务器与客户端直接对话,并负责完成 TLS 连接,进
行 ALPN 协商,以及处理所有请求。
然而,一台服务器对于大型应用是不够的。大型应用必须要添加一台负载均衡器,
以分流大量请求。此时,负载均衡器可以终止 TLS 连接(参见 13.3.5 节“2.0 与
TLS”),也可以经过配置作为 TCP 代理并直接将加密数据发送给应用服务器。
很多云提供商也会提供负载均衡器服务。然而,这些负载均衡器大多支持
TLS 终止,却不支持 ALPN 协商,而这对于通过 TLS 实现 HTTP 2.0 通信
是必需的。在这种情况下,应该将负载均衡器配置为 TCP 代理,即通过它
们将加密数据发送给应用服务器,让应用服务器完成 TLS+ALPN 协商。
优化应用的交付 | 215