现在,在使用微服务时,客户端必须处理来自微服务架构的所有复杂性,例如聚合来自各种服务的数据,维护多个端点,增加客户端和服务器的干扰,以及为每个服务单独进行身份验证。
客户端对微服务的依赖直接使得重构服务变得困难。一种直观的方法是在新服务层后面隐藏这些服务,并提供为每个客户定制的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的费用。