设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 手机 数据
当前位置: 首页 > 服务器 > 系统 > 正文

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

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

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

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

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

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

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

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

地址

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

公共参数

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

公共请求参数

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

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

timestamp和nonce用来防重放攻击.

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

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读