为什么常见的Web服务客户端使用代理

 frank52_445 发布于 2023-02-08 13:00

我注意到大多数充当Web服务客户端的架构使用代理与其余服务器通信?虽然有可能不使用代理服务器来访问REST服务,例如一个我读过的是这个地方,它使用代理服务器与静止服务器通信是否有使用代理来访问REST服务的任何优势?

1 个回答
  • 对于小型本地应用程序Web服务,通​​常不需要使用代理.它主要取决于您的服务器负载(客户端数量,请求频率)以及访问您的服务的网络区域:后台服务器到服务器,前台局域网,WAN或整个互联网).

    REST Web服务主要是在线资源,由URL以独特方式标识,并且通常以经典HTTP方式提供.从客户端来看,他不知道他得到的数据是静态的,动态的还是缓存的.他只是将数据看作是静态的.

    在大型应用程序中,随着客户端,资源和Web服务请求的增加,您需要技术组件来处理问题,例如用户平衡,随着应用程序的发展对Web服务的使用情况跟踪.您还希望为客户提供最佳性能.使用代理解决方案可以有效地实现这一点.

    NOT使用代理的优点:

    简单

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

    从单个集中入口点重写URL(而不是在每个服务器/ app/ws配置上异构设置).

    跟踪Web服务的使用情况(全局)

    增强性能(缓存,平衡到专用服务器)

    管理API版本(从/ myAPI-V1切换到gobally/myAPI到/ myAPI-V2很容易完成,然后回头看看)

    即时修改一些API调用(版本之间的兼容性,执行初步输入数据验证或向调用添加技术信息).

    全局管理Web服务安全性(控制IP,每个用户的配额等).

    希望这能回答你的问题.

    编辑 (回答评论)

    代理可以充当缓存.对于常见问题资源(REST服务),它可以为多个用户提供相同的响应.您的服务将被称为juste一次,即使此资源有100个请求.

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

    你有多少用户?

    有多少网络服务?

    是否提供了各种数据/资源?

    您的服务有多快(单独)?

    什么是网络性能?(LAN?WAN?Internet?Mobile?)

    有多少服务器和应用程序为用户服务?

    您是否遇到任何网络负载问题?

    代理无法"加速"您现有的服务,但它可以增强您为客户提供资源的方式.

    如果您不知道是否需要,请不要使用代理.您必须知道您的实际系统架构是什么,以及缺点和瓶颈是什么.

    2023-02-08 13:02 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有