背景介绍 introduction
系统集成过程中,API调用随时会出现高并发、高延迟、高错误的情况,若集成平台对这些突发请求不进行处理,异常API会耗尽集成平台资源,最终导致平台崩溃,造成生产事故,带来经济损失。
下面,以高延迟API为例子,介绍汉得集星獭集成平台,对于高延迟API的处理方案。
JeeStar
超时限制方案
针对高延迟API请求,我们可对请求进行超时限制处理,从集成平台方主动断开请求,保证高延迟请求不影响集成平台。
集星獭集成平台支持全局维度、服务维度、接口维度的超时限制,三个维度超时限制优先级为:接口维度>服务维度 > 全局维度,配置如下:
- 全局维度:单位(ms)
- 服务维度:单位(ms)
- 接口维度:单位(ms)
JeeStar
高延迟API梳理
通过设置超时时长,从集成平台方主动断开请求,可以保障高延迟API不影响集成平台,但是这样会导致请求因为集成平台中断而失败,从而影响客户业务流程。
因此,集成平台需要支持高延迟API的正常调用。
首先,需要进行高延迟API收集,可在前期调研中,进行收集。同时,也可通过集成平台提供的监控报表界面,收集高延迟API,如下:
接着,通过点击监控报表,可跳转到接口监控界面收集高延迟API;还可以通过在接口监控界面自行输入查询参数方式,进行收集,如下:
JeeStar
动态路由方案
高延迟API梳理完成后,集成平台通过动态路由方案处理高延迟API。
下面将介绍集星獭集成平台如何通过动态路由方案,即能保证高延迟请求的正常处理,又不影响集成平台的整体性能,提高系统的稳定性和可靠性。原理如下图:
操作过程如下:
将收集的高延迟API配置到API网关-动态路由规则中,如下图所示:
动态路由支持:服务、租户、客户端、URL维度设置分流规则,规则在线维护即可生效,如上使用的是URL维度规则。
配置好动态路由后,还需要对应部署高延迟节点组服务,服务中配置动态路由设置的规则即可,如下图所示:
下面进行方案演示,先演示高延迟请求影响集成平台场景,再演示动态路由方案,通过对比可以更直观的展示通过动态路由方案是如何有效、安全的解决了高延迟对系统带来的影响。
重现影响集成平台的场景
我们先准备一个延迟API,延迟API通过参数time决定延迟时长。如下:
http://xxx:8080/hitf/v2p/public/rest/invoke/xxx?time=100 ,表示延迟100ms返回响应。
当前接口平台连接池设置:连接池最大连接数为10,为了更早的重现系统故障情况。
■ 未开启动态路由时-API调用
调用流程如下:
通过Jmeter发起再次请求,先发起10并发API请求,请求延迟为(11000ms),配置如下:
压测5min的压测记录:
此时访问系统界面,系统响应迟钝(平均需要6s左右):
集星獭平台-动态路由方案
从上述的场景可看出,API调用发生高延迟时,将严重影响系统性能,下面通过动态路由方案,解决这一问题。
■ 开启动态路由时-API调用
调用流程如下:
通过Jmeter发起再次请求,先发起10并发API请求,请求延迟为(11000ms),压测5min记录如下:
此时访问系统界面,系统正常响应(平均100ms+):
结论 conclusion
通过动态路由方案,将"故障"API分流至高延迟节点组处理,而高延迟节点组与正常节点组隔离互不影响,实现故障隔离,提高系统的稳定性和可靠性。
该方案不仅仅适用于"故障"API处理,还适用于多业务线需求,即平台统一管理多业务线,而业务线间互不影响,单独执行。
同时平台提供精简便捷的配置化界面,通过简单配置即可实现动态路由功能。如需了解欢迎致电垂询。
汉得企业级系统集成平台(中文名集星獭,英文名JeeStar),是一站式多系统集成、多云集成、多端集成、多协议集成、多设备集成、数据集成、页面集成的全域集成解决方案。集成平台沉淀了汉得多年ToB项目实施的系统集成经验,在消除企业信息孤岛、数据孤立、打通多源多端的数据断链及混合云对接等场景中提供了高效便捷的功能及策略方案。
联系我们
- 如果您想了解集星獭更详细的功能介绍和产品信息,请查阅我们的产品文档。
移动端 👉:集星獭产品文档
PC端 👉:
open.hand-china.com/document-ce...
- 如果您有疑问或者建议,可以通过开放平台进行工单反馈,问题分类请选择【产品/集星獭JeeStar】 👉
- 相关产品咨询或更多信息了解,欢迎联系我们