[知晓云 API Gateway] API 乐队指挥家,网关服务正式上线

2020-05-15 18:02:01 +08:00
 ifanr2016

作者:知晓云 资深工程师 John Deng

随着知晓云小伙伴们业务的发展,对我们服务的支持又有了新的要求,比如在对接第三方服务时,需要自定义数据结构等。为此,经过 32 次的需求讨论会以及工程师们的紧张开发后,知晓云 API 网关诞生了。你可以通过可视化界面配置 API,点击发布,即可完成一个对外服务的 API,再也无需等待构建 /部署流程,大大节约了开发成本。

知晓云 API 网关( API Gateway ),是 API 发布、管理、运维的全生命周期管理工具。让开发者通过可视化界面配置并生成 API 提供给全平台使用,省掉了繁琐的服务开发及部署环节,五分钟即可完成 API 定制开发。

使用 API  网关,还可以让运行在知晓云上的应用数据得以更加灵活地提供给外部系统集成,无需再通过知晓云的 OpenAPI 进行数据转接,使得业务推进速度跃升一个等级。

API 网关的使用场景

1.接收外部系统回调

API 网关会将外部系统的回调内容传递至后端服务(云函数),处理完成后,还可以返回符合外部系统要求的内容。

2.定制 API 接口,自定义返回内容

直接使用知晓数据表相关的 API 时 ,无法对其返回内容进行自定义,更加无法应对涉及多表数据合成为一个对象返回的场景。

使用 API 网关即可在云函数中组装好内容,通过其自定义返回内容的能力,将符合业务的数据格式返回到客户端。

API 网关的执行流程

客户端对 API 发起请求后,由网关进行有效性及路由匹配,将请求转发到后端服务进行业务处理,再把后端服务的内容通过 API 网关返回客户端。

PS:目前后端服务仅支持云函数。

需要注意:

云函数运行方式为同步,超时时间为 1.5 秒。

由于云函数需要告知 API 网关返回内容,因此云函数必须返回以下数据结构,如不按照这结构返回,API 网关将会响应错误:

{
  "status_code": 200,
  "content-type": "text/plain",
  "content": "hello, world!"
}

API 网关的费用

API 网关面向所有版本的用户开放,没有应用版本的限制。仅需对请求数与云函数执行进行付费,API 网关的 API  管理、认证服务、流量控制等所有组件不收取任何费用。

每个对 API 网关的 API 请求会消耗应用一次的 APICall 额度,API 请求对应云函数的执行费用按照已有的云函数计费规则进行收取。

API 网关的特性

API 管理

提供 API 的创建 /修改 /删除, 除了对 API 进行路径,支持方法的设置外,还可以根据业务场景对 query string / HTTP headers 进行参数规范配置,支持 API 调试。

API 发布

预设「正式环境」/ 「测试环境」,让开发测试与生产服务相互隔离。

API 安全

无论内置域名或自定义域名均提供 SSL 证书,保证 API 的通讯安全,支持选用 JWT 认证服务,避免 API 被恶意使用。

API 流量控制

支持对 API 进行流量控制,精准控制使用情况,保证资源合理使用。

API 监控及调用日志

多维度的监控指标,全面了解 API 的使用情况,保留POST/PUT/ DELETE 等方法的请求日志,给 API 审计提供强力支持。

API 网关的使用

进入「知晓云控制台」,选择「引擎」即可开启使用。

创建 API 网关

选择「 API 网关」 tab,即可进入管理面板。

增加路由,绑定云函数

完成 API 网关创建后,在「 API 管理」添加 API 。

API 可以根据需求进行认证服务,请求参数等的前端配置,按需选择。

完成前端配置后,再进行后端云函数的配置,给正式 /测试环境配置相对应的云函数。

点击「新增云函数」会在新开的标签页中实现云函数的创建,完成后,点击刷新按钮即可选择。

编写云函数

编写成后,回到原有标签,进行关联操作。

发布 API 网关

验证 API 网关

查看《 API 网关使用指南》,立即使用 API Gateway 。

关于知晓云 API Gateway 的介绍就讲到这里啦,如果你有其他疑问或需求,可通过文末评论或客服微信(微信号:minsupport3 )告诉我们,我们将一一为你解答。

推荐阅读

1230 次点击
所在节点    推广
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/672133

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX