我注意到大多数充当Web服务客户端的架构使用代理与其余服务器通信?虽然可以在没有代理服务器的情况下访问休息服务,但我读过的一个示例是this,它使用代理服务器与其服务器进行通信是否有使用代理访问其余服务器的任何优点服务?
答案 0 :(得分:5)
对于小型本地应用程序Web服务,通常不需要使用代理。它主要取决于您的服务器负载(客户端数量,请求频率)以及访问您的服务的网络区域:后台服务器到服务器,前台局域网,WAN或整个互联网)。
REST Web服务主要是在线资源,由URL以独特的方式识别,通常以经典的HTTP方式提供。从客户端来看,他不知道他得到的数据是静态的,动态的还是缓存的。他只是将数据看作是静态的。
在大型应用程序中,随着客户端,资源和Web服务请求的增加,您需要技术组件来处理问题,例如用户平衡,随着应用程序的发展对Web服务的使用情况跟踪。您还希望为客户提供最佳性能。这可以通过代理解决方案有效实现。
NOT使用代理的优点:
使用基于代理的解决方案的优势:
希望这能回答你的问题。
修改 (回答评论)
代理可以充当缓存。对于常见问题资源(REST服务),它可以为多个用户提供相同的响应。您的服务将被称为juste一次,即使此资源有100个请求。
但这取决于您的服务的实际使用方式,因此您需要跟踪请求以了解缓存是否有用。
代理无法“加速”您现有的服务,但它可以增强您为客户提供资源的方式。
如果您不知道是否需要代理,请不要使用代理。您必须知道您的实际系统架构是什么,以及缺点和瓶颈是什么。