浅析阿里云API网关的产品架构和常见应用场景

自上世纪60年代计算机网络发展开始,API(Application Programming Interface )随之诞生,API即应用程序接口,是实现系统间衔接的桥梁。时至今日,API市场已经形成了一个庞大的生态体系,在拥抱API经济的过程当中,API网关这一个组件起到了至关重要的作用。

什么是API网关

API 网关提供完整的 API 托管服务,辅助用户将能力、服务、数据以 API 的形式开放给合作伙伴,也可以发布到 API 市场供更多的开发者采购使用。

1、提供防攻击、防重放、请求加密、身份认证、权限管理、流量控制等多重手段保证 API 安全,降低 API 开放风险。
2、提供 API 定义、测试、发布、下线等全生命周期管理,并生成 SDK、API 说明文档,提升 API 管理、迭代的效率。
3、提供便捷的监控、报警、分析、API 市场等运维、运营工具,降低 API 运营、维护成本。

API网关技术解读稿(改)713.png

API托管服务: 为企业与开发者提供低成本、高可用、安全、便捷、易于管理的 API 开发能力。在 API 的市场里,日均调用次数已经超过1.2亿次,基于此背景,阿里云全新探索了云市场能力中心,建立 API 生态,为企业客户和伙伴提供 API 购买和 API 变现一站式解决方案。API 网关将能力的复用率最大化,让企业之间能够互相借力,企业发展能够专注自身业务,实现共赢。

API网关产品架构

API网关技术解读稿(改)1017.png

API网关可以实现:
1、API 生命周期管理
● 支持包括 API 发布、API 测试、API 下线等生命周期管理功能。
● 支持 API 日常管理、API 版本管理、API 快速回滚等维护功能。

2、全面的安全防护
● 支持多种认证方式,支持 HMAC (SHA-1,SHA-256) 算法签名。
● 支持 HTTPS 协议,支持 SSL 加密。
● 防攻击、防注入、请求防重放、请求防篡改。

3、灵活的权限控制
● 用户以 APP 作为请求 API 的身份,网关支持针对 APP 的权限控制。
● 只有已经获得授权的 APP 才能请求相应的 API。
● API 提供者可以主动授权某个 APP 调用某个 API 的权限。
● API 若上架到 API 市场,则购买者可以将已购买的 API 授权给自己的 APP。

4、精准的流量控制
● 流量控制可以用于管控 API的被访问频率、APP的请求频率、用户的请求频率。
● 流量控制的时间单位可以是分钟、小时、天。
● 同时支持流控例外,允许设置特殊的 APP 或者用户。

5、请求校验
● 支持参数类型、参数值(范围、枚举、正则、Json Schema)校验,无效校验直接会被 API 网关拒绝,减少无效请求对后端造成的资源浪费,大大降低后端服务的处理成本。

6、数据转换
● 通过配置映射规则,实现前、后端数据翻译。
● 支持前端请求的数据转换。
● 支持返回结果的数据转换。

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

8、自动工具
● 自动生成 API 文档,可供在线查看。
● API 网关提供多种语言 SDK 的示例。降低 API 的运维成本。
● 提供可视化的界面调试工具,快速测试,快速上线。

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

API网关提供完善的、对开发者友好的API管理方式,用户不仅可以用控制台来管理API,还可以和已有的系统做连接。对于API网关来讲,目前有两种使用方式:

1、共享实例
免费开通,只需要为调用所产生的次数和流量支付费用,但是因为共享实例,很多的多租户会在一个实例上,相对来讲安全性和稳定性不如专享实例来的高。

2、专享实例
当客户的业务到了一定的规模或者是对安全性和稳定性有更高需求的时候,可以在控制台上买一个专享实例。购买之后,系统会自动提供一个独立的入口IP,独享服务器集群。专享实例能够满足更高SLA的需求,将分组切换至专享实例后,就能享受更高规格的服务,并且只需在控制台上自主操作即可。

API常见应用场景

API 网关能够支撑各个场景下开放 API 的需求,支持将 API 开放给合作伙伴、开发者,实现企业核心能力的货币化,建立 API 生态;支持将 API 适配多端,如:移动、互联网、物联,实现系统前后端分离;支持内部系统整合模块化、微服务化。

1、建立 API 生态,互相借力,协同发展
面对用户日益膨胀而又碎片化的需求,企业需要不断探索新的商业模式,来解决客户一系列的场景化问题。通过API网关提供标准的 API 服务,让其他开发者将不同 API 服务组合整合到自己的应用中,衍生出新的服务,促进企业建立商业生态、跨界创新。
● 通过 API 网关将企业的核心能力,开放给合作伙伴,达成深度合作,协同发展;
● 将 API 接入阿里云市场,以 API 的形式开放能力、服务、数据供广大开发者采购使用,产生价值;
● 在 API 市场,采购第三方成熟的能力和服务,避免平铺式开发,专注专业,借力发展。

API网关技术解读稿(改)2648.png

2、安全的实现多端统一,一套服务,多端输出
随着移动、物联网的普及,API 需要支持更多的终端设备,以扩充业务规模,但同时也带来系统复杂性的提升。通过 API 网关可以使 API 适配多端,企业只需要在 API 网关调整 API 定义,无需做额外工作。
● 企业只需维护一个服务体系,面向多端输出,只需调整API定义,即可实现对APP、设备、web端等多种终端的支持;
● 避免多个场景多套API,大大降低管理运维成本。

API网关技术解读稿(改)2863.png

3、轻松实现系统集成,规范化、标准化
● 通过 API 网关对系统间接口进行规范统一,用标准化的接口实现系统集成;
● 快速完成资源整合和管理,消除快速发展造成的冗余和浪费,聚力发展业务。

API网关技术解读稿(改)2963.png

总结

阿里云 API 网关, 提供 API 托管服务, 涵盖 API 设计、发布、售卖全生命周期,辅助用户简单、快速、低成本、低风险的实现微服务聚合、前后端分离、系统集成。未来,API 网关也将结合阿里云A集市, 不断提升 API 体验,实现一站式 API 采购、变现解决方案。

原文链接

本文为云栖社区原创内容,未经允许不得转载。

自上世纪60年代计算机网络发展开始,API(Application Programming Interface )随之诞生,API即应用程序接口,是实现系统间衔接的桥梁。时至今日,API市场已经形成了一个庞大的生态体系,在拥抱API经济的过程当中,API网关这一个组件起到了至关重要的作用。

什么是API网关

API 网关提供完整的 API 托管服务,辅助用户将能力、服务、数据以 API 的形式开放给合作伙伴,也可以发布到 API 市场供更多的开发者采购使用。

1、提供防攻击、防重放、请求加密、身份认证、权限管理、流量控制等多重手段保证 API 安全,降低 API 开放风险。
2、提供 API 定义、测试、发布、下线等全生命周期管理,并生成 SDK、API 说明文档,提升 API 管理、迭代的效率。
3、提供便捷的监控、报警、分析、API 市场等运维、运营工具,降低 API 运营、维护成本。

API托管服务: 为企业与开发者提供低成本、高可用、安全、便捷、易于管理的 API 开发能力。在 API 的市场里,日均调用次数已经超过1.2亿次,基于此背景,阿里云全新探索了云市场能力中心,建立 API 生态,为企业客户和伙伴提供 API 购买和 API 变现一站式解决方案。API 网关将能力的复用率最大化,让企业之间能够互相借力,企业发展能够专注自身业务,实现共赢。

API网关产品架构

API网关可以实现:
1、API 生命周期管理
● 支持包括 API 发布、API 测试、API 下线等生命周期管理功能。
● 支持 API 日常管理、API 版本管理、API 快速回滚等维护功能。

2、全面的安全防护
● 支持多种认证方式,支持 HMAC (SHA-1,SHA-256) 算法签名。
● 支持 HTTPS 协议,支持 SSL 加密。
● 防攻击、防注入、请求防重放、请求防篡改。

3、灵活的权限控制
● 用户以 APP 作为请求 API 的身份,网关支持针对 APP 的权限控制。
● 只有已经获得授权的 APP 才能请求相应的 API。
● API 提供者可以主动授权某个 APP 调用某个 API 的权限。
● API 若上架到 API 市场,则购买者可以将已购买的 API 授权给自己的 APP。

4、精准的流量控制
● 流量控制可以用于管控 API的被访问频率、APP的请求频率、用户的请求频率。
● 流量控制的时间单位可以是分钟、小时、天。
● 同时支持流控例外,允许设置特殊的 APP 或者用户。

5、请求校验
● 支持参数类型、参数值(范围、枚举、正则、Json Schema)校验,无效校验直接会被 API 网关拒绝,减少无效请求对后端造成的资源浪费,大大降低后端服务的处理成本。

6、数据转换
● 通过配置映射规则,实现前、后端数据翻译。
● 支持前端请求的数据转换。
● 支持返回结果的数据转换。

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

8、自动工具
● 自动生成 API 文档,可供在线查看。
● API 网关提供多种语言 SDK 的示例。降低 API 的运维成本。
● 提供可视化的界面调试工具,快速测试,快速上线。

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

API网关提供完善的、对开发者友好的API管理方式,用户不仅可以用控制台来管理API,还可以和已有的系统做连接。对于API网关来讲,目前有两种使用方式:

1、共享实例
免费开通,只需要为调用所产生的次数和流量支付费用,但是因为共享实例,很多的多租户会在一个实例上,相对来讲安全性和稳定性不如专享实例来的高。

2、专享实例
当客户的业务到了一定的规模或者是对安全性和稳定性有更高需求的时候,可以在控制台上买一个专享实例。购买之后,系统会自动提供一个独立的入口IP,独享服务器集群。专享实例能够满足更高SLA的需求,将分组切换至专享实例后,就能享受更高规格的服务,并且只需在控制台上自主操作即可。

API常见应用场景

API 网关能够支撑各个场景下开放 API 的需求,支持将 API 开放给合作伙伴、开发者,实现企业核心能力的货币化,建立 API 生态;支持将 API 适配多端,如:移动、互联网、物联,实现系统前后端分离;支持内部系统整合模块化、微服务化。

1、建立 API 生态,互相借力,协同发展
面对用户日益膨胀而又碎片化的需求,企业需要不断探索新的商业模式,来解决客户一系列的场景化问题。通过API网关提供标准的 API 服务,让其他开发者将不同 API 服务组合整合到自己的应用中,衍生出新的服务,促进企业建立商业生态、跨界创新。
● 通过 API 网关将企业的核心能力,开放给合作伙伴,达成深度合作,协同发展;
● 将 API 接入阿里云市场,以 API 的形式开放能力、服务、数据供广大开发者采购使用,产生价值;
● 在 API 市场,采购第三方成熟的能力和服务,避免平铺式开发,专注专业,借力发展。

2、安全的实现多端统一,一套服务,多端输出
随着移动、物联网的普及,API 需要支持更多的终端设备,以扩充业务规模,但同时也带来系统复杂性的提升。通过 API 网关可以使 API 适配多端,企业只需要在 API 网关调整 API 定义,无需做额外工作。
● 企业只需维护一个服务体系,面向多端输出,只需调整API定义,即可实现对APP、设备、web端等多种终端的支持;
● 避免多个场景多套API,大大降低管理运维成本。

3、轻松实现系统集成,规范化、标准化
● 通过 API 网关对系统间接口进行规范统一,用标准化的接口实现系统集成;
● 快速完成资源整合和管理,消除快速发展造成的冗余和浪费,聚力发展业务。

总结

阿里云 API 网关, 提供 API 托管服务, 涵盖 API 设计、发布、售卖全生命周期,辅助用户简单、快速、低成本、低风险的实现微服务聚合、前后端分离、系统集成。未来,API 网关也将结合阿里云A集市, 不断提升 API 体验,实现一站式 API 采购、变现解决方案。

原文地址:https://www.cnblogs.com/yunqishequ/p/11765566.html

时间: 2024-10-11 18:34:49

浅析阿里云API网关的产品架构和常见应用场景的相关文章

阿里云API网关(17)签名算法

文档说明:https://help.aliyun.com/document_detail/54229.html?spm=5176.doc27781.6.753.wWRWnm&parentId=29462 代码下载:https://github.com/aliyun/aliyun-openapi-java-sdk/tree/master/aliyun-java-sdk-core aliyun-openapi-java-sdk/aliyun-java-sdk-core/src/main/java/c

阿里云文件存储的高性能架构演进之路

摘要: 10月27日下午,2018中国计算机大会上举办了主题"数据中心计算"的技术论坛,一起探讨解决数据中心所面临的挑战.论坛上,阿里云分布式存储团队高级技术专家田磊磊进行了<阿里云文件存储的高性能架构演进之路>的报告. 10月27日下午,2018中国计算机大会上举办了主题"数据中心计算"的技术论坛,一起探讨解决数据中心所面临的挑战.论坛上,阿里云分布式存储团队高级技术专家田磊磊进行了<阿里云文件存储的高性能架构演进之路>的报告. 专家简介田

Python 调用阿里云 API 收集 ECS 数据

#!/usr/bin/env python # coding: utf-8 # author: Wang XiaoQiang ''' 功能介绍: 1.调用阿里云API,收集所有区域 ECS 信息 2.将需要的数据整理.生成 Excel 文档 3.关于阿里 sdk 的安装,api 的调用请参考阿里云官网 4.xlsxwriter 请参考这里:http://xlsxwriter.readthedocs.org/ ''' import json, sys try: from termcolor imp

阿里云api调用做简单的cmdb

阿里云api调用做简单的cmdb 1 步骤 事实上就是调用阿里api.获取可用区,比方cn-hangzhou啊等等.然后在每一个区调用api 取ecs的状态信息,最好写到一个excel里面去.方便排序排版. 2 示意图 3 源代码 https://github.com/gqdw/cmdb/tree/master

调用阿里云api获取阿里云数据同步服务(DTS)并且作图发送邮件的整个流程

前言 在https://rorschachchan.github.io/2018/02/24/阿里云获取DTS服务延迟的脚本/ 文章里已经写过,领导现在要求"每天查看阿里云dts同步的延迟情况和同步速率情况",并且在https://rorschachchan.github.io/2018/02/27/使用matplotlib画图的一个脚本/ 里面也放了一个使用python matplotlib画图的demo,这篇文章的目的就是把整个过程实现,并且把dts图形以每日邮件的形式发送给领导的

python封装 阿里云api

最近用到阿里云的API和SDK ,用python封装了一下基础类,我只是用查询一下接口的信息,别的没有测试过,可以看看 内容如下: #-*- coding: utf-8 -*-# author: sunwei import jsonimport uuidfrom urllib import requestimport hmac,base64from hashlib import sha1from datetime import datetime, timedelta, timezone,date

在阿里云服务器上安装redis流程及常见错误

在阿里云服务器上部署redis,首先需要登陆远程登陆自己购买的阿里云服务器,购买及认证的过程就不说了,当时也是一个新手,啥都不懂,也不懂服务器,一步步按照说明才完成的,现在需要在阿里云服务器上安装redis,具体过程如下: 1,找到redis官网https://redis.io/的下载页面 复制链接地址,这里我下载的是最新的稳定版,然后进入服务器,在你想要放文件的目录下,使用wget命令进行下载 wget http://download.redis.io/releases/redis-4.0.9

阿里云api调用

# coding: utf-8"""This module be able to manage ecs instances on the aliyun cloud. We choosesome helper functions from salt.cloud.clouds.aliyun since DRY principle.Full documentations about the Aliyun APIs are located at"https://help.a

python3.6 通过调用 阿里云 API (非SDK方式) 查询 可用区 例子

#!/usr/bin/env python3.5 # -*- coding:utf8 -*- try: import httplib except ImportError: import http.client as httplib import sys, datetime import urllib import urllib.request import urllib.error import urllib.parse import time import json import base6