您的浏览器版本过低,为保证更佳的浏览体验,请点击更新高版本浏览器
以后再说X作者:汇付天下 发布时间: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毫秒,
Copyright © 2020-2030 汇付支付|汇付天下官网 上海汇付天下有限公司 版权所有 招商专线:18782965538 备案号:蜀ICP备2021018159号 网站地图