加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 电商 > 正文

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

发布时间:2021-05-27 18:11:45 所属栏目:电商 来源:互联网
导读:接口设计 网关最基本的功能是转发请求, 常见的方式是根据配置中的路由规则将请求转发给内部服务, 如: 将/order/*的请求转发给内部的订单系统、/user/*的请求转发

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

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

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

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

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

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

地址

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

公共参数

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

公共请求参数

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

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

timestamp和nonce用来防重放攻击.

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

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读