【问题标题】:Web API + Client ArchitectureWeb API + 客户端架构
【发布时间】:2016-04-28 18:10:18
【问题描述】:

我们正在建设:

  1. 一组通过 Web API 公开的服务。
  2. 一个移动应用和一个浏览器应用。

应用程序响应自己的最终与 API 服务通信的管道服务器是否常见?我们将设置一个反向代理——直接访问我们的 API(而不是设置一个管道)就足够了吗?这绝对是一个通用的架构问题。

【问题讨论】:

    标签: api web architecture


    【解决方案1】:

    我不确定您所说的“管道”是什么意思,但很大程度上取决于您的 API 的完整性和硬化程度。他们是否已经处理了身份验证、滥用检测/控制、SSL、版本控制等...

    有些公司专门提供这种 API“中间件”(ApigeeAmazon API GatewayAzure API Management 等等)。您的反向代理是一个开始,并且可能已经足够好了(至少您可以做一些事情,比如终止您的 SSL,并将您的 API 服务器锁定在防火墙后面)。如果您将 API 服务设置为无状态,则以后可能可以添加新层,而不会带来太多痛苦和复杂性。

    【讨论】: