接口开放太麻烦?试试阿里云API网关吧

前言

我在多方合作时,系统间的交互是怎么做的?这篇文章中写过一些多方合作时接口的调用规则和例子,然而,接口开放所涉及的安全、权限、监控、流量控制等问题,可不是简简单单就可以解决的,这一般需要专业的开放平台来支撑。但为了开放几个接口就要做一个开放平台,实在是不合算。为此阿里云为了解决这类需求推出了一款强大的工具——API网关。本文将介绍阿里云API网关的特点和优势,以及如何使用API网关来简化接口开放的过程。

一、阿里云API网关收费模式

有些同学看到要钱可能就有点难受了,不过人家既然是产品,就是拿出来卖的,我们看看它是咋收费的,太贵了就不买。
这里我直接总结一下白嫖部分:

  • 每月(自然月)前一百万次API调用免费,当月超过部分按阶梯计费。
  • 流量费用在国内的话,1个G大约0.7元,这个好像必须收费。

总体来说,费用主要集中在流量费上,只是简单的数据流应该花不了多少钱,但是如果大量传输图片、文件就可能会很贵。(官方计费链接)

二、阿里云API网关的特点和优势

  • 简化接口管理:API网关提供了一套方便的管理界面,可以灵活配置接口的参数、返回值、鉴权方式等信息,同时还支持接口版本管理和灰度发布,方便开发者进行接口的迭代和升级。

  • 安全可靠:API网关支持多种鉴权方式,包括签名鉴权、OAuth2.0鉴权等,可以确保只有授权的用户才能访问接口。此外,API网关还支持自定义流量控制和访问控制,可以有效防止恶意攻击和滥用接口。

  • 高性能:API网关采用分布式架构,支持海量并发请求,可以承载高流量的业务场景。同时,API网关还提供了实时监控和报警功能,可以及时发现并解决接口性能问题,保障系统的稳定性。

  • 弹性扩展:由于API网关是云服务,可以根据业务需求灵活扩展,无需担心硬件和带宽的限制。而且,API网关还支持自动化部署和灵活的配置管理,方便开发者进行系统的运维和升级。

这里直接让ChatGPT生成了,大家有兴趣的话自己看看就行。

三、如何使用阿里云API网关

1. 调用逻辑

(1)原始调用方案

最原始的办法就是服务服务提供方提供一些API出来,然后给一个接口文档,服务调用方直接调用即可。这种方式简单粗暴,但是缺点也显而易见:缺乏安全、权限、监控、流量控制等。

(2)阿里云API调用方案

阿里云API方案的话,首先服务提供方需要将自己的API注册到阿里云API平台上,然后对调用方进行授权,只有有权限的调用方才可以调用API,除此之外还有日志、监控与告警等基础服务,相比原始调用方案来说,强大了不止一点。

2. 服务提供方注册API

第一步、登录阿里云网站—>打开阿里云API网关界面

阿里云API网关官网地址

第二步、开放API—>分组管理—>创建分组


创建好之后会有一个API分组ID,并且会提供一个公网二级域名,正常来讲这个域名就已经可以调通接口了,但是这个二级域名仅供测试使用,客户端直接调用时会有每天 1000 次访问限制。
我的做法是根据自己的域名开一个二级或者三级域名,通过CNAME解析到阿里云的这个公网二级域名,这样就不会有次数限制了。
弄好域名解析后,需要到当前分组独立域名这里配置一下,如下

第三步、开放API—>API列表—>创建API

API的创建是关键步骤,我这里拆开来讲。

a. 基本信息

主要是API接口名称,其他的东西可以不改,直接下一步就行了。

b. 定义API请求

定义API请求主要是设置请求path和参数,这个path和参数是服务调用方使用的,一般我们会这里定义的path和参数与后端设为一样,可以减少理解的成本。

c. 定义API后端服务

这里就是服务提供方的服务API地址。

d. 定义返回结果

可以不填,直接点击创建。

e. 将API发布到测试

API发布之后还不能立马调试,还需要创建一个调用API的应用才可以。

第四步、调用API—>应用管理—>创建APP

这里创建完调用API的应用之后会自动生成两套认证秘钥:ak/sk或appCode,这两种任选其一就行。

第五步、API授权给应用


授权给应用后,当前API就和应用建立了联系,有一个稍微麻烦的地方,测试、预发、线上需要分三次授权。授完权,应用在调用API的时候,使用对应ak/sk或appCode就可以调用这个API了。

第六步、API调试

调试情况如上图。

3. 多语言调用Demo一键生成

这个一键生成调用代码我感觉是这个产品的亮点,Java、Python、C++、.NET都有案例,省了我们很多时间,毕竟开放文档写的再好也不如直接来一个一键执行的Demo好用啊。

四、总结

ChatGPT的总结

阿里云API网关是一个强大的工具,可以帮助开发者简化接口开放的过程,提供安全、高效的API访问入口。通过使用API网关,开发者可以更加专注于业务逻辑的实现,而无需过多关注接口的安全和管理问题。相信随着云计算和API经济的不断发展,API网关将在未来扮演越来越重要的角色。

我自己的看法

功能确实很多,费用也还合理,如果哪天你想通过API的方式分享你的能力,而又不想做一套复杂的开发平台体系,那么阿里云API网关确实是一个不错的选择。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/191169.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Cnyunwei

运维管理系统:监控系统 Cnyunwei Centos 6 封装 Cacti、Nagios、Centreon(中英文自己切换)、Check_MK、Nconf英文版本全部采用与国外官方同步的最新版本,会发布32位和64位两个版本。 安装很简单,直接回车即可全自动安…

高通SDX12:ASoC 音频框架浅析

一、简介 ASoC–ALSA System on Chip ,是建立在标准ALSA驱动层上,为了更好地支持嵌入式处理器和移动设备中的音频Codec的一套软件体系。 本文基于高通SDX12平台,对ASoC框架做一个分析。 二、整体框架 1. 硬件层面 嵌入式Linux设备的Audio subsystem可以划分为Machine(板…

高效攻略各类BOSS,成为真正的剑侠!

逆水寒作为一款备受瞩目的国产武侠游戏,其精美的画面和真实的剑术体验吸引了众多玩家。在这篇实用干货分享中,我们将详细介绍一些攻略各类BOSS的技巧和策略,帮助你在游戏中轻松击败强大的对手,成为真正的剑侠大师。 首先&#xff…

【机器学习基础】机器学习入门(1)

🚀个人主页:为梦而生~ 关注我一起学习吧! 💡专栏:机器学习 欢迎订阅!后面的内容会越来越有意思~ 💡专栏介绍: 本专栏的第一篇文章,当然要介绍一下了~来说一下这个专栏的开…

【已解决】vscode 配置C51和MDK环境配置

使用命令 gcc -v -E -x c - 看自己gcc 有没有安装好 也可以在自己的vscode中新建一个终端 gcc -v g -v 首先把自己的C51 和MDK 路径 设置好 vscode 中设置 C51 和 MDK 的路径 这是你keil 中写 51单片机和 STM32 的 如果你出现什么include 的什么波浪线,那估计…

记录pytorch实现自定义算子并转onnx文件输出

概览:记录了如何自定义一个算子,实现pytorch注册,通过C编译为库文件供python端调用,并转为onnx文件输出 整体大概流程: 定义算子实现为torch的C版本文件注册算子编译算子生成库文件调用自定义算子 一、编译环境准备…

dameng数据库数据id decimal类型,精度丢失

问题处理 这一次也是精度丢失,但是问题呢还是不一样,这一次所有的id都被加一了,只有id字段被加一,还有的查询查出来封装成对象之后对象的id字段被减一了,数据库id字段使用的decimal(20,6)&…

sass 封装媒体查询工具

背景 以往写媒体查询可能是这样的&#xff1a; .header {display: flex;width: 100%; }media (width > 320px) and (width < 480px) {.header {height: 50px;} }media (width > 480px) and (width < 768px) {.header {height: 60px;} }media (width > 768px) …

Linux下MSSQL (SQL Server)数据库无法启动故障处理

有同事反馈一套CentOS7下的mssql server2017无法启动需要我帮忙看看&#xff0c;启动报错情况如下 检查日志并没有更新日志信息 乍一看mssql-server服务有问题&#xff0c;检查mssql也确实没有进程 既然服务有问题&#xff0c;那么我们用一种方式直接手工后台启动mssql引擎来…

集成Line、Facebook、Twitter、Google、微信、QQ、微博、支付宝的三方登录sdk

下载地址&#xff1a; https://githubfast.com/anerg2046/sns_auth 安装方式建议使用composer进行安装 如果linux执行composer不方便的话&#xff0c;可以在本地新建个文件夹&#xff0c;然后执行上面的composer命令&#xff0c;把代码sdk和composer文件一起上传到项目适当位…

使用validator实现枚举类型校验

使用validator实现枚举类型校验 前言&#xff1a; 在前端调用后端接口传递参数的过程中&#xff0c;我们往往需要对前端传递过来的参数进行校验&#xff0c;比如说我们此时需要对用户的状态进行更新&#xff0c;而用户的状态只有正常和已删除&#xff0c;并且是在代码中通过枚…

点大商城V2版 2.5.3全插件开源独立版 百度+支付宝+QQ+头条+小程序端+unipp开源端安装测试教程

点大商城V2是一款采用全新界面设计支持多端覆盖的小程序应用&#xff0c;支持H5、微信公众号、微信小程序、头条小程序、支付宝小程序、百度小程序&#xff0c;本程序是点大商城V2独立版&#xff0c;包含全部插件&#xff0c;代码全开源&#xff0c;并且有VUE全端代码。 适用范…

使用Python和requests库的简单爬虫程序

这是一个使用Python和requests库的简单爬虫程序。我们将使用代理来爬取网页内容。以下是代码和解释&#xff1a; import requests from fake_useragent import UserAgent # 每行代理信息 proxy_host "jshk.com.cn" # 创建一个代理器 proxy {http: http:// proxy_…

Clickhouse学习笔记(10)—— 查询优化

单表查询 Prewhere 替代 where prewhere与where相比&#xff0c;在过滤数据的时候会首先读取指定的列数据&#xff0c;来判断数据过滤&#xff0c;等待数据过滤之后再读取 select 声明的列字段来补全其余属性 简单来说就是先过滤再查询&#xff0c;而where过滤是先查询出对应…

Android Studio真机运行时提示“安装失败”

用中兴手机真机运行没问题&#xff0c;用Vivo运行就提示安装失败。前提&#xff0c;手机已经打开了调试模式。 报错 Android Studio报错提示&#xff1a; Error running app The application could not be installed: INSTALL_FAILED_TEST_ONLY 手机报错提示&#xff1a; 修…

专访|OpenTiny 社区 Mr 栋:结合兴趣,明确定位,在开源中给自己一些技术性挑战

前言 OpenTiny 开源之夏项目终于迎来了圆满的结局。借此机会&#xff0c;我们采访了 TinyReact 的共建者 Mr 栋同学。 Mr 栋同学是一位热衷于前端技术的开发者&#xff0c;对前端开发充满了激情和热爱。同时他也是一位即将毕业的大四在校生。在 OpenTiny 开源项目中&#xff0…

Window安装MongoDB

三种NOSQL的一种,Redis MongoDB ES 应用场景: 1.社交场景:使用Mongodb存储用户信息,以及用户发表的朋友圈信息,通过地理位置索引实现附近的人,地点等功能 2.游戏场景:使用Mongodb存储游戏用户信息,用户的装备,积分等直接以内嵌文档的形式存储,方便查询,高效率存储和访问…

软路由R4S+iStoreOS实现公网远程桌面局域网内电脑

软路由R4SiStoreOS实现公网远程桌面局域网内电脑 文章目录 软路由R4SiStoreOS实现公网远程桌面局域网内电脑简介 一、配置远程桌面公网地址配置隧道 二、家中使用永久固定地址 访问公司电脑具体操作方法是&#xff1a;2.1 登录页面2.2 再次配置隧道2.3 查看访问效果 简介 上篇…

EDA实验-----3-8译码器设计(QuartusII)

目录 一. 实验目的 二. 实验仪器 三. 实验原理及内容 1.实验原理 2.实验内容 四&#xff0e;实验步骤 五. 实验报告 六. 注意事项 七. 实验过程 1.创建Verilog文件&#xff0c;写代码 ​编辑 2.波形仿真 3.连接电路图 4.烧录操作 一. 实验目的 学会Verilog HDL的…

JVM如何运行,揭秘Java虚拟机运行时数据区

目录 一、概述 二、程序计数器 三、虚拟机栈 四、本地方法栈 五、本地方法接口 六、堆 &#xff08;一&#xff09;概述 &#xff08;二&#xff09;堆空间细分 七、方法区 一、概述 不同的JVM对于内存的划分方式和管理机制存在部分差异&#xff0c;后续针对HotSpot虚…