此时有一个集验签、鉴权、限流、降级等功能于一身的API网关服务变得尤为重要.
接下来将分享如何设计实现一个轻量级的API开放网关, 包括接口设计、数据库设计、签名验签方案、鉴权等....API网关简介
API网关在微服务中尤为重要, 其抽象了鉴权、限流、降级等各个业务系统通用的功能. 作为众多内部业务系统外的一层屏障....而本文所设计的是服务于第三方的开放API网关, 并未使用上述做法, 而是将请求的资源作为参数放到请求体中, 其原因如下:
开放API服务于第三方, 屏蔽内部路径, 有利于提供命名统一且规范的接口....请求接口的映射由网关的路由表维护, 内部接口升级甚至切换到新服务对外接口不变.
能够更细粒度地针对接口进行权限控制、限流、统计等....签名方案
调用方和服务方均生成2048位RSA秘钥, 交换公钥. 私钥用于签名, 公钥用于验签, 开放API网关对外接口使用https, 故暂不需额外做加密处理.