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
   224   225   226   227   228   229   230   231   232   233   234