如何设计实现一个轻量的开放API网关

随着商业的发展,越来越多的第三方相互联系。每个业务系统都面临着同样的问题:如何让第三方快速安全地访问。此时,拥有集成签名验证、身份验证、流量限制和降级功能的应用编程接口网关服务尤为重要。

如何设计实现一个轻量的开放API网关

接下来,我们将分享如何设计和实现一个轻量级的开放网关。包括接口设计、数据库设计、签名验证方案、认证等。本文着重于总体设计,具体的实现细节将在后续文章中共享。

前言

随着商业的发展,越来越多的第三方相互联系。每个业务系统都面临着同样的问题:如何让第三方快速安全地访问。此时,拥有集成签名验证、身份验证、流量限制和降级功能的应用编程接口网关服务尤为重要。

API网关简介

随着商业的发展,越来越多的第三方相互联系。每个业务系统都面临着同样的问题:如何让第三方快速安全地访问。此时,拥有集成签名验证、身份验证、流量限制和降级功能的应用编程接口网关服务尤为重要。

@签名和验证、身份验证、路由权限和资源管理@

随着商业的发展,越来越多的第三方相互联系。每个业务系统都面临着同样的问题:如何让第三方快速安全地访问。此时,拥有集成签名验证、身份验证、流量限制和降级功能的应用编程接口网关服务尤为重要。

基本需求

随着商业的发展,越来越多的第三方相互联系。每个业务系统都面临着同样的问题:如何让第三方快速安全地访问。此时,拥有集成签名验证、身份验证、流量限制和降级功能的应用编程接口网关服务尤为重要。

将/order/*的请求转发给内部订单系统和/user/*转发给内部用户系统,这通常在负责整个业务系统的基本网关中使用。

然而,本文设计的开放应用编程接口网关服务于第三方,并不使用上述方法,而是将请求的资源作为参数放在请求体中。其原因如下:

总体设计

开放应用编程接口为第三方服务,屏蔽内部路径,并有助于提供统一命名和标准化的接口。请求接口的映射由网关的路由表维护。内部接口的升级或者甚至切换到新服务都不会改变外部接口。它可以控制权限、限制流量、计数等。更细粒度的接口。

随着商业的发展,越来越多的第三方相互联系。每个业务系统都面临着同样的问题:如何让第三方快速安全地访问。此时,拥有集成签名验证、身份验证、流量限制和降级功能的应用编程接口网关服务尤为重要。

接口设计

随着商业的发展,越来越多的第三方相互联系。每个业务系统都面临着同样的问题:如何让第三方快速安全地访问。此时,拥有集成签名验证、身份验证、流量限制和降级功能的应用编程接口网关服务尤为重要。

地址

随着商业的发展,越来越多的第三方相互联系。每个业务系统都面临着同样的问题:如何让第三方快速安全地访问。此时,拥有集成签名验证、身份验证、流量限制和降级功能的应用编程接口网关服务尤为重要。

如何设计实现一个轻量的开放API网关 app_id:应用程序标识,它是授权的主体,呼叫方的标识方法:请求方法,并对应于内部网址。网关的路由表维护。时间戳和随机数用于防止重放攻击。biz_content:服务参数,该参数将被转发到内部服务系统。

随着商业的发展,越来越多的第三方相互联系。每个业务系统都面临着同样的问题:如何让第三方快速安全地访问。此时,拥有集成签名验证、身份验证、流量限制和降级功能的应用编程接口网关服务尤为重要。

如何设计实现一个轻量的开放API网关

biz_content:返回服务参数。网关转发服务系统的返回值。

随着商业的发展,越来越多的第三方相互联系。每个业务系统都面临着同样的问题:如何让第三方快速安全地访问。此时,拥有集成签名验证、身份验证、流量限制和降级功能的应用编程接口网关服务尤为重要。

gmail.com :信箱。

随着商业的发展,越来越多的第三方相互联系。每个业务系统都面临着同样的问题:如何让第三方快速安全地访问。此时,拥有集成签名验证、身份验证、流量限制和降级功能的应用编程接口网关服务尤为重要。

主叫方和服务方生成2048位RSA密钥并交换公钥。私钥用于签名,公钥用于验证,开放应用编程接口网关使用https作为外部接口。因此,目前不需要额外的加密。

随着商业的发展,越来越多的第三方相互联系。每个业务系统都面临着同样的问题:如何让第三方快速安全地访问。此时,拥有集成签名验证、身份验证、流量限制和降级功能的应用编程接口网关服务尤为重要。

随着商业的发展,越来越多的第三方相互联系。每个业务系统都面临着同样的问题:如何让第三方快速安全地访问。此时,拥有集成签名验证、身份验证、流量限制和降级功能的应用编程接口网关服务尤为重要。

随着商业的发展,越来越多的第三方相互联系。每个业务系统都面临着同样的问题:如何让第三方快速安全地访问。此时,拥有集成签名验证、身份验证、流量限制和降级功能的应用编程接口网关服务尤为重要。

符号被拒绝后的所有参数。

随着商业的发展,越来越多的第三方相互联系。每个业务系统都面临着同样的问题:如何让第三方快速安全地访问。此时,拥有集成签名验证、身份验证、流量限制和降级功能的应用编程接口网关服务尤为重要。

按参数名称的ASCII码按字母升序排序。

随着商业的发展,越来越多的第三方相互联系。每个业务系统都面临着的问题:如何让第三方快速安全地访问。此时,拥有集成签名验证、身份验证、流量限制和降级功能的应用编程接口网关服务尤为重要。

排序后的参数列表组合成一个字符串,参数名为a=参数值A,参数名为b=参数值B.参数名z=参数值z。私钥用于生成符号。

随着商业的发展,越来越多的第三方相互联系。每个业务系统都面临着同样的问题:如何让第三方快速安全地访问。此时,拥有集成签名验证、身份验证、流量限制和降级功能的应用编程接口网关服务尤为重要。

数据库,用于存储配置,如密钥权限。程序和数据库之间有多级缓存,以提高访问速度。简要的ER图如下:

随着商业的发展,越来越多的第三方相互联系。每个业务系统都面临着同样的问题:如何让第三方快速安全地访问。此时,拥有集成签名验证、身份验证、流量限制和降级功能的应用编程接口网关服务尤为重要。

Gateway。除了满足功能,还需要考虑性能要求。毕竟,作为每个业务系统的唯一入口,网关的性能可能成为整个业务系统的瓶颈。业务并不复杂,性能要求也很高。反应式编程是一个不错的选择。

随着商业的发展,越来越多的第三方相互联系。每个业务系统都面临着同样的问题:如何让第三方快速安全地访问。此时,拥有集成签名验证、身份验证、流量限制和降级功能的应用编程接口网关服务尤为重要。

作为内部系统外部的一层屏障和入口,除了基本功能和性能要求之外,还需要考虑监控、统计、日志等问题。网关有许多开源产品。然而,一个人在选择时必须考虑自己的事业,并在适合自己的前提下参照各种成熟的方案进行实践。

 

极牛网精选文章《如何设计实现一个轻量的开放API网关》文中所述为作者独立观点,不代表极牛网立场。如若转载请注明出处:https://geeknb.com/1815.html

(34)
打赏 微信公众号 微信公众号 微信小程序 微信小程序
主编的头像主编认证作者
上一篇 2019年11月26日 上午9:41
下一篇 2019年11月26日 上午9:45

相关推荐

发表回复

登录后才能评论
扫码关注
扫码关注
分享本页
返回顶部