首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么公共web服务客户端使用代理?

为什么公共web服务客户端使用代理?
EN

Stack Overflow用户
提问于 2013-12-24 08:22:09
回答 1查看 5.1K关注 0票数 3

我注意到,大多数充当web服务客户端的体系结构都使用代理与rest服务器进行通信?虽然可以在没有代理服务器的情况下访问rest服务,但我读过的一个例子是,它使用代理服务器与rest服务器通信,使用代理访问rest服务有什么好处吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-24 10:33:25

对于小型本地应用程序web服务来说,通常不需要使用代理。它主要取决于服务器负载(客户机数量、请求频率),以及访问服务的网络区域:后台服务器到服务器、前台局域网、广域网或整个互联网)。

其余的way服务大多是在线资源,通过URL以独特的方式标识,通常以传统的HTTP方式提供。从客户端,他不知道他得到的数据是静态的、动态的还是缓存的。他得到的数据就好像是静态的。

在大规模应用程序中,随着客户端、资源和web服务请求的增加,您需要技术组件来处理问题,如用户平衡、随着应用程序的发展而跟踪web服务的使用情况。您还希望向客户提供尽可能好的性能。这可以通过代理解决方案有效地实现。

不使用代理的优点:

  • 简单性

使用基于代理的解决方案的优点:

  • 从单个集中式入口点重写URL(而不是在每个服务器/app/ws配置上进行异构设置)。
  • 跟踪the服务的使用情况(全球范围)
  • 增强性能能力(缓存,平衡到专用服务器)
  • 管理API版本(将gobally /myAPI从/myAPI-V1切换到/myAPI-V2很容易实现,并将手指倒转到鼻子上)
  • 动态修改一些API调用(版本之间的兼容性,进行初步的输入数据验证,或者向调用中添加技术信息)。
  • 在全球范围内管理per服务安全(控制IP、每个用户配额等)。

希望这能回答你的问题。

编辑(回复评论)

代理可以充当缓存。对于常见的资源(REST服务),它可以为多个用户提供相同的响应。即使在这个资源上有100个请求,您的服务也只会被调用一次。

但这取决于服务的实际使用方式,因此您需要跟踪请求,以了解缓存在您的情况下是否有用。

  • 你有多少用户?
  • 有多少网络服务?
  • 为哪类数据/资源提供服务?
  • 你的服务(单独)有多快?
  • 网络性能如何?(伊恩?万?上网?移动?)
  • 有多少服务器和应用程序为您的用户服务?
  • 您是否遇到任何网络负载问题?

代理不能“加速”现有服务,但它可以增强向客户端提供资源的方式。

如果您不知道是否需要代理,请不要使用它。您必须知道实际的系统架构是什么,以及薄弱环节和瓶颈是什么。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20757390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档