跳到主要内容

产品介绍

API网关用于帮助企业和开发者完成API的创建、维护、发布、监控告警等整个生命周期的管理。

通过API网关,以API的形式将后端服务开放出来,提供给各方使用。同时,支持API多环境发布、API测试等更多功能。帮助企业轻松构建、管理和部署不同规模的API,让用户可以专注开发,快速实现IT能力的商业化。

产品功能

API生命周期管理

  • 支持API服务的创建、发布、调试、下线等生命周期管理功能。
  • 支持流量监控、发布版本管理、版本切换、授权审批等功能。

流量控制

  • 提供统一的流控管理,可为多个服务绑定相同的流控策略。
  • 用于保障后端服务的稳定性,管控API的被访问频率、APP的请求频率、用户的请求频率,防止暴力访问。
  • 支持多种时间单位(秒、分、时、天)的流量控制的设定。
  • 支持不同维度的流控,基于API、基于应用、基于凭证。

访问控制

  • 支持JWT、OAuth2、Basic Auth、HMAC Auth等多种认证方式。
  • 安全防护,保证设置访问控制的服务在被应用访问时,需提供相应的凭证以证身份。

后端服务负载均衡、灰度发布

支持API组直接关联K8S 资源service,或传统虚机部署的服务,负载均衡模式支持关联多个服务,其策略目前支持随机。还可设置灰度策略,支持按权重、按内容去分配流量到不同的服务版本。

插件管理

  • 支持降级功能,临时阻止外界通过某API访问我们的服务。
  • 支持跨域资源共享,使用CORS机制(Cross-Origin Resource Sharing跨源资源共享)获取目标服务器的授权。
  • 支持IP访问控制(即设置黑白名单),是API网关提供的API安全防护组件之一。
  • 支持报文大小限制,用来控制请求的报文大小,可配合流控策略使用,多维度限流,避免突发高流量导致后端服务过载。
  • 支持爬虫,用来对发送请求的工具进行筛选。主要是针对于机器人或者爬虫的,阻止那些不遵守规范的低级爬虫给我们的服务带来的巨大麻烦。

监控与告警

  • 提供实时、可视化的API监控,包括:API请求次数、API调用延迟和API错误信息等,识别可能影响业务的潜在风险,确保稳定安全的提供API服务。
  • 提供API统计报表查询,包括:发布记录、调用记录、授权记录。
  • 支持对监控指标设置告警,业务接口异常时可通过邮件、短信等方式通知API管理者。

权限控制

  • 基于提供的多环境发布功能,普通环境中发布的API,通过主动授权给应用获取授权,同时支持解除授权。
  • 发布到API市场的API,通过应用申请、发布者审批的方式获取授权。

使用流程简介

API网关的使用流程如下图所示。

test

多环境发布API流程功能示意图如下图所示。

test

开放API

(1) 创建API分组

API分组是API的管理单元—相当于API的集合,您在创建API前,需要先创建 API分组。创建分组时会绑定一个或多个后端服务。创建API前需要创建好一个API组。

(2) 创建API

创建API包括定义访问请求路径,请求相关协议、方法,访问控制方式等。

(3) 发布API

只有在将API 发布到环境后,API才支持被调试与调用。API网关支持查看API发布历史(如版本、发布说明、发布时间和发布环境),并支持回滚到不同的API历史版本。对API的每一次修改,均在发布后方能在不同环境中生效。

(4) 调试API

管理控制台提供调试功能,您可以添加HTTP头部参数与body体参数,调试API接口,验证服务是否正常。

(5) 绑定流控策略

只有发布到某个环境的API,方能绑定流控策略。流量控制可限制单位时间内API的被调用次数,从而保护后端服务。可通过创建流控策略对一部分API进行流量控制,绑定API后,方能生效。

(6) 下线API

已发布的API由于某些原因需要暂停对外提供服务,可以暂时将API从相关环境中下线。

(7) 授权API

授权为主动授权。

调用API

您作为API调用者,实现成功调用一个API,需要按照以下步骤操作。

(1)创建应用

应用表示开放的API服务的使用者或用户,作为您调用API的身份。用于统计调用API,创建好的应用中授权的API创建相应的访问凭证,实现相应的认证。

每个账户支持创建多个应用,可以根据业务需求分别被授权不同的API。

(2)云市场开放者主动授权使用

通过开放者主动授权的方式(可参考“开放API”中的[授权应用])。

(3)参考已授权的API对应访问控制方式创建访问凭证

支持在应用详情中添加不同类型的访问凭证,访问凭证具备该应用的认证权限,需要妥善保管。如果发生泄漏,您可以在API网关的控制台进行更新重置。

(4)调试API

调试API功能,可以调试已授权/发布者主动授权的API,通过添加HTTP头部参数与body体参数,调试API接口,验证服务是否正常。