现在,在使用微服务时,客户端必须处理来自微服务架构的所有复杂性,例如聚合来自各种服务的数据,维护多个端点,增加客户端和服务器的干扰,以及为每个服务单独进行身份验证。

客户端对微服务的依赖直接使得重构服务变得困难。一种直观的方法是在新服务层后面隐藏这些服务,并提供为每个客户定制的API。

此聚合器服务层也称为API网关,它是解决此问题的常用方法。

基于API网关的微服务架构模式。

客户的所有请求首先通过API网关。然后它将请求路由到适当的微服务。

典型的API网关包括:

  • 安全性(身份验证和潜在授权)

  • 管理访问配额和限制

  • 缓存(代理语句和缓存)

  • API组成和处理

  • 路由(可能处理)到“内部”API

  • API健康监测(性能监测)

  • 版本控制(可能是自动化)基于API网关的微服务架构模式。

    客户的所有请求首先通过API网关。然后它将请求路由到适当的微服务。

API网关的优点

  • 在一个地方实施

  • 简化API源代码本身,因为这些问题是外部化的

  • 提供API的中央和独特视图,因此更有可能允许一致的策略

API网关缺点

  • 可能的单点故障或瓶颈

  • 由于所有API规则都在一个地方,因此存在复杂性风险

  • 锁定和迁移的风险可能并不简单

API增长创造了机会和漏洞

为了掌握API的失控增长,我们只需要查看自2005年以来一直在跟踪公开暴露的API的ProgrammableWeb的统计数据。那时,只列出了大约100个API; 今天,有超过10,000个公开的API。

这种增长越来越多地依赖于依赖用户数据宝库的经济。据报道,Salesforce.com通过其API获得了30亿美元年收入的50%以上,以及Expedia每年20亿美元收入的近90%。

公司通过以各种方式计量对API及其背后的资源的访问来产生API收入。例如,Twitter,Facebook和其他提供基于广告的API,允许基于报告和分析的目标广告,但广告代理商和其他品牌必须支付访问这些API的费用。

说点什么吧...