【API Gateway】API 乐队指挥家,网关服务正式上线
作者:知晓云资深工程师 john
随着知晓云小伙伴们业务的发展,对我们服务的支持又有了新的要求,比如在对接第三方服务时,需要自定义数据结构等。为此,经过 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!" }
- status_code 为响应请求的状态码。查看参考文档
- content 为响应内容
- content-type 为响应内容的类型,支持:
- text/plain(纯文本)
- text/html(HTML)
- application/json(JSON)
- application/xml(XML)
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。
如果你有其他需求,可以通过文末留言、在知晓云产品路线图提交需求或添加客服微信(minsupport3)等方式告诉我们,非常感谢大家一如既往的支持~