12

远行API网关(200428)

 4 years ago
source link: http://blog.sina.com.cn/s/blog_493a84550102z857.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

API 网关(API Gateway),是提供API托管服务,涵盖API发布、管理、运维、售卖的全生命周期管理。辅助用户简单、快速、低成本、低风险的实现微服务聚合、前后端分离、系统集成,向合作伙伴、开发者开放功能和数据。核心的API网关功能可以参考如下:

API 生命周期管理

支持包括API 注册和接入发布、API 测试、API 下线等生命周期管理功能。支持 API 日常管理、API 版本管理、API 快速回滚等维护功能。基本需要覆盖API管理全生命周期。

全面的安全防护

支持多种认证方式,支持 HMAC (SHA-1,SHA-256) 算法签名。支持 HTTPS 协议,支持 SSL 加密。防攻击、防注入、请求防重放、请求防篡改。(没看到是否支持Auth2.0和具体的Token验证机制)

灵活的权限控制

用户以 APP 作为请求 API 的身份,网关支持针对 APP 的权限控制。只有已经获得授权的 APP 才能请求相应的 API。API 提供者可以将调用某个API 的权限主动授予给某个APP。若 API上架到 API 市场,购买者可以将已购买的 API 授权给自己的 APP。(没看到是否基于IP进行控制,还是基于Token进行控制,即对于消费方分配独立的Token信息)

精准的流量控制

流量控制可以用于管控 API的被访问频率、APP的请求频率、用户的请求频率。流量控制的时间单位可以是分钟、小时、天。支持流控例外,允许设置特殊的 APP 或者用户。(流量控制只支持服务运行频率,没看到可以基于数据量进行流控)

请求校验

支持参数类型、参数值(范围、枚举、正则、Json Schema)校验,无效校验会被 API 网关直接拒绝,以减少无效请求对后端造成的资源浪费,大幅降低后端服务的处理成本。(这个功能实际有一定的用处,并不会牺牲太多的性能,但是会实现一些简单的参数完整性校验能力。)

数据转换和映射

通过配置映射规则,实现前、后端数据翻译。支持前端请求的数据转换。支持返回结果的数据转换。(暂时不清楚数据转换功能能够实现的能力)

API服务监控报警

提供可视化的API实时监控,包括:调用量、流量大小、响应时间、错误率,在陆续增加维度。支持历史情况查询,以便统筹分析。可配置预警方式(短信、Email),订阅预警信息,以便实时掌握API运行情况。

自动工具

自动生成 API 文档,可供在线查看。API 网关提供多种语言 SDK 的示例。降低 API 的运维成本。提供可视化的界面调试工具,快速测试,快速上线。(当前网上也有不少的API接口文档自动生成工具可选)

API 市场

可将 API 上架到 API 市场,供更多开发者采购和使用。

从整个功能的介绍可以看到对于API的全生命周期管理(注册,接入,代理,路由,负载均衡),安全,权限,流量控制,监控和告警等是所有API网关都必须具备的功能。而对于API市场,API文档自动生成,请求的参数校验,数据的转换等则可以看做是扩展功能。

对于API市场往往是一个重要的扩展能力,即对于API接口服务可以做为商品一样进行订购和使用,并根据相应的调用次数,调用的数据量等条件进行计费处理。这我们我们说的PaaS平台的服务层能力作为产品和服务发布,能够进行订购生产订单,能够进行计费等完全是一个道理。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK