5.7 小结

反向代理是Nginx希望实现的一大功能。从本章的内容中可以感受到,upstream和subrequest都为转发上游服务器的响应做了大量工作,当然,upstream的转发过程也非常高效。然而,转发响应毕竟只是访问第三方服务的一种应用,而upstream最初始的目的就是用于访问上游服务器。本章前半部分虽然以转发响应为例说明了upstream的一种使用方式,但后半部分创建的子请求却是通过反向代理模块使用upstream将上游服务器简单地保存在内存中的。关于upstream更详细的用法,将在第12章讲述。subrequest是分解复杂请求的设计方法,派生出的子请求使用某些HTTP模块基于upstream访问第三方服务是最常见的用法。通过subrequest可以使Nginx在保持高并发的前提下处理复杂的业务。

当应用需要访问第三方服务时,可以根据以上特性选择使用upstream或者subrequest,它们可以完全地发挥Nginx原生的高并发特性,支持现代互联网服务器中海量数据的处理。