您的浏览器版本过低,为保证更佳的浏览体验,请点击更新高版本浏览器

以后再说X

汇付天下多终端全场景 定制化聚合收银,合作咨询18782965538<微信同号

图片名

招商咨询专线:
187-8296-5538

主页 > 平台支持 > 操作教程

操作教程
操作教程 后台/APP 宣传文案 区域分公司

汇付技术丨如何建设金融级API网关

作者:汇付天下 发布时间:2025-05-15 09:26:33 次浏览

1、诞生背景API网关的诞生由来已久,在微服务概念的流行之前,API网关的实体就已经诞生了,这时的主要应用场景是企业开放平台,它面向的主要是企业外部合作伙伴。而当微服务概念流行起来之后,API网关就成了在上层应用层集成的标配组件。API 网关就是将所有的微服务提供的 API 接口服务能力全部汇聚进来,统一接入进行管理。API网关通过对接口的统一拦截,可以实现对 API 接口的安全管控、日志记录和限

1、诞生背景

API网关的诞生由来已久,在微服务概念的流行之前,API网关的实体就已经诞生了,这时的主要应用场景是企业开放平台,它面向的主要是企业外部合作伙伴。而当微服务概念流行起来之后,API网关就成了在上层应用层集成的标配组件。API 网关就是将所有的微服务提供的 API 接口服务能力全部汇聚进来,统一接入进行管理。API网关通过对接口的统一拦截,可以实现对 API 接口的安全管控、日志记录和限流熔断等共性需求。简单来说,API网关实现了以下几个关键能力:

提供统一的服务入口。内部的微服务对外部访问来说位置透明,外部应用只需和网关交互即可。提供统一的接口能力。API网关通过对接口的统一拦截,可以实现安全管控、日志记录和限流熔断等共性需求。提供接口适配和转换能力。API网关可以通过各种不同的适配器来实现对遗留系统的遗留接口适配以及协议转换能力。提供路由及灰度发布能力。API网关具备灵活的流量管理功能,可对不同参数的请求配置不同的访问目标,也可以根据百分比来控制不同目标间的流量分配,以实现灰度发布等需求。提供云原生能力支持。在云原生环境下,服务器资源不在固定在某些特定IP上,而是可以随意的进行弹性伸缩,API网关应当具备相应的服务发现机制,以适应云原生部署模式。目前市面上比较知名的API网关产品包括:Netflix Zuul、基于Nginx的Kong、Spring Cloud Gateway。这些产品各有优势,但缺乏统一的配置管理平台,路由、限流能力比较弱化,其中Kong依赖于Nginx,Spring Cloud Gateway依赖于Sping cloud微服务框架,协议转换能力、高可用、可治理能力、安全性无法满足汇付金融级企业API网关的需求,因此我们自主研发了汇付金融级API网关产品。2、金融级API网关概览


3、功能介绍

API网关目前提供以下核心能力:http服务获得服务治理(路由,限流,分区,灰度发布)的功能

异常处理(流量自动摘除),访问流量监控、异常流量告警

根据来源IP白名单、黑名单限制访问

流量录制、Mock接口

微服务对外暴露

3.1  API网关路由能力1. 多个路由规则可设置优先级2. 支持url重写,这样对外暴露和内部使用的path可不同3. 支持按域名路由4. 路由参数支持url parameter、header、cookie、request body5. 路由参数只支持单一来源,同一来源下支持多重组合表达式:(cmd_id1 || cmd_id2) && cmd_id36. 当匹配不到任何路由时,将会选择默认服务,如果没有默认服务,将会在多个服务之间按照权重选择7. 可按指定规则返回404状态3.2  API网关限流能力

1) 单机限流

① 可选择不同的统计纬度, 自定义限流统计时间、阈值、拒绝时间.② 限流纬度描述:③ REQUEST是根据请求客户端的数量进行限流;④ IP是根据客户端的IP地址进行限流;⑤ SESSION是根据在header或cookie中的指定字段作为限流的纬度.⑥ 需要注意一点: 如果配置限流阈值为tps=1万, 网关server有2台, 那么单台网关server限流的阈值为5000.⑦ 单机限流触发后, 被拦截的请求返回的http code = 911.2) 集群限流① 集群限流也就分布式限流, 它可以以集群为整体对某个指定的请求进行限流.② 集群限流支持更加灵活的匹配条件, 比如post请求中某个商户的id, 也可以基于json进行限流.③ 如果设置集群限流阈值为tps=1万, 那么不管网关server集群有多少个节点, 命中请求的最大tps就是10000,如果超过此值, 将返回http code=919.3.3  API网关异常处理与监控

① 对后端访问连接异常主动告警② 后端服务实例无法提供服务时将主动摘除流量:间隔30秒后继续检测,如果成功则自动恢复,如果失败继续处于摘除状态,直至人工将实例彻底下线为止;③ 可查询流量qps、异常流量3.4   API网关流量录制、API Mock① 可按照指定的录制规则,将http流量完全录制下来,方便问题跟踪② 通过录制回放功能,将流量在其他环境回放,进行功能验证③ 通过API Mock,可以返回指定的返回值,也可以随机返回结果,方便API测试4、API网关的运维与管理能力 

5、API网关最佳实践 

6、效果与展望

汇付金融级API网关已经在斗拱开放API上全面应用,日流量达上亿的请求,部署了十多个高可用集群,机器数量达到60+,为斗拱对外流量提供了可靠的保障。API网关通过采用了基于netty的全异步模式以及基于linux 的epoll事件模型,提供了强大的并发能力与快速的处理能力。最佳场景性能单机可达到1.3万tps,极限场景2万tps。访问时间最佳场景99.9%小于5毫秒, 99.99%小于10毫秒,

接入应用原来需要通过写脚本方式实现灰度流量验证,接入后通过简单配置即可实现灰度;新旧系统切换时无需客户端修改代码,通过API网关即可平滑实现;


对于异常访问流量,接入方通过API网关的限流、精准拦截能力,为接入应用提供了有力的防护能力,保障了系统安全;
对于云原生发布应用,接入方无需关注实例的变更,通过云平台和API网关实现了自动注册、优雅上下线;接入方可将精力更多放在斗拱业务功能的开发上,不再需要过多关注流量管理细节;
汇付金融级API网关是斗拱对外流量的大总管,它能够在不侵入业务系统的情况下使得流量更加稳定可靠、路由更加灵活。API网关未来将进一步实现更多功能,比如:流量录制与回放,API MOCK、API测试等。基于此,汇付API网关将使汇付对外流量更加灵活安全、行稳致远。



图片名 咨询

X

截屏,微信识别二维码

微信号:18782965538

(点击微信号复制,添加好友)

  打开微信