站长网 系统 如何设计完成一个轻量的开放API网关

如何设计完成一个轻量的开放API网关

网关最基本的功能是转发请求, 常见的方式是根据配置中的路由规则将请求转发给内部服务, 如: 将/order/*的请求转发给内部的订单系统、/user/*的请求转发给内部的用户系统, 这种做法常用于对整个业务系统负责的基础网关. 而本文所设计的是服务于第三方的开放

网关最基本的功能是转发请求, 常见的方式是根据配置中的路由规则将请求转发给内部服务, 如:

将/order/*的请求转发给内部的订单系统、/user/*的请求转发给内部的用户系统, 这种做法常用于对整个业务系统负责的基础网关.

而本文所设计的是服务于第三方的开放API网关, 并未使用上述做法, 而是将请求的资源作为参数放到请求体中, 其原因如下:

开放API服务于第三方, 屏蔽内部路径, 有利于提供命名统一且规范的接口.

请求接口的映射由网关的路由表维护, 内部接口升级甚至切换到新服务对外接口不变.

能够更细粒度地针对接口进行权限控制、限流、统计等.

地址

开放API网关对外提供唯一入口, 具体请求的资源作为参数传入.

公共参数

为了简化签名和验签的操作, 同时也提高灵活度, 唯一入口的约定了固定的公共参数和返回值, 如下:

公共请求参数

app_id: 应用ID, 应用ID是授权的主体, 是调用方的身份标识

method: 请求方法, 与内部URL对应, 由网关的路由表维护.

timestamp和nonce用来防重放攻击.

biz_content: 业务参数, 这个参数将转发给内部业务系统.

本文来自网络,不代表站长网立场,转载请注明出处:https://www.zwzz.com.cn/html/fuwuqi/xt/2021/0525/6400.html

作者: dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。
联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部