searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

一种应用网关时间窗口openapi熔断限流方式

2024-11-29 09:12:05
3
0

随着AI、大数据、云计算等技术的兴起,为了提供更良好的企业个性化服务和个人定制化需求,数据存储显得尤为重要,openapi的稳定性使用是更重要的一环。

云上数据库为了保证数据库openapi的高可用能力与自适应能力,往往是会存在openapi的隐患问题,保证数据库openapi系统的稳定性高可用性成了重中之重。当前的网关系统无法个性化的针对特定的openapi进行熔断监控,监控的数据指标多是处理器、内存、硬盘等数据,缺少一套完整的openapi熔断监控方法。所以当大规模调用openapi出现系统来不及响应,响应时间很慢或者出现服务器宕机等问题时,没有办法做到用户侧及时感知,同时数据库系统崩溃,极大影响到用户操作。

基于以上问题,如何提供一种简单部署、快速感知的openapi监控熔断方案就成了亟需解决的问题。

三、发明创造的目的

本发明是针对现有技术方案的不足,基于sentinel和应用网关进行结合,通过sentinel进行对openapi某一时间采样进行熔断检测,prometheus监控采集openapi调用数据Prometheus会根据进行监控数据计算,gafana然后可视化监控。

为实现基于应用网关和sentinel的熔断以及gafana可视化监控能力,需要实现openapi的自适应熔断监控,需要解决的技术难点主要为以下两点:

第一是自主研发的应用网关,实现对于Prometheus的对openapi调用监控数据采集和sentinel的自定义的时间采样熔断规则。通过编写熔断规则绑定对应openapi,规则通过某一时间窗口采样,对openapi超时响应比例和错误比例来控制。

第二是实现应用网关自动化加载openapi能力和基于gafana的可视化监控。

五、发明创造的技术方案

1. 本发明提供一种基于Prometheus,应用网关,sentinel的openapi的自适应的熔断监控方案,并使用gafana作为可视化监控,其整体技术框架如附图1:

                                                           

附图1.openapi熔断监控整体流程图

 

通过应用网关web页面断路器的熔断规则如下,示例如下:

 

errorCondition: "$StatusCode == 500"  # 错误条件

errorThresholdByPercent: 20    # 用于控制错误阈值的百分比

timeoutThresholdByPercent: 20   # 用于控制后端超时请求的百分比

windowInSeconds: 30                   # 窗口时间

openTimeoutSeconds: 15              # 断路器开的时间

downgradeBackend:               # 降级后的后端配置

  type: mock

  statusCode: 403

3.通过ping-exporter组件的monitor模块进行配置yaml文件来创建监测任务,负责监控机器实例。

                                                     

附图2.Prometheus拉取监控指标数据

2. 如附图2所示,部署完ping-exporter之后,当用户调用openapi时候,openapi监控指标数据会被拉取到Prometheus,Prometheus会根据数据计算,然后gafana进行可视化监控处理。可以展示对应openapi的熔断器的开关状态和对应openapi返回的状态码和响应时间。

                                                 

 

附图3.熔断器的状态转移

六、架构所具有的优点和效果。

利用本发明提供的一种基于时间采样应用网关openapi熔断监控的方法,具有以下优点:

本申请主要用于云计算数据库openapi使用领域,由于传统的网关监测并不能针对某个特定openapi进行熔断降级处理,不能满足用户自定义openapi后端处理;基于Prometheus和ping-exporter的监控以及gafana可视化监控,使用的组件成熟,部署方式简单,还可以及时让用户发现某个或者多个openapi熔断状态并及时做有效处理,有效的降低了经济损失和减少了人力资源成本。

七、实施例

1. 通过应用网关web页面可以自定义断路器规则。绑定经常报错或者超时的openapi。

2. 将ping-exporter二进制文件移至对应的源主机,并修改其为系统服务,设置开机自启动。

3. 根据监控任务参数对ping-exporter配置文件动态修改。配置进行更新。

4. Prometheus拉取实时的openapi调用数据。并在gafana进行可视化展示。

0条评论
0 / 1000
x****n
2文章数
0粉丝数
x****n
2 文章 | 0 粉丝
x****n
2文章数
0粉丝数
x****n
2 文章 | 0 粉丝
原创

一种应用网关时间窗口openapi熔断限流方式

2024-11-29 09:12:05
3
0

随着AI、大数据、云计算等技术的兴起,为了提供更良好的企业个性化服务和个人定制化需求,数据存储显得尤为重要,openapi的稳定性使用是更重要的一环。

云上数据库为了保证数据库openapi的高可用能力与自适应能力,往往是会存在openapi的隐患问题,保证数据库openapi系统的稳定性高可用性成了重中之重。当前的网关系统无法个性化的针对特定的openapi进行熔断监控,监控的数据指标多是处理器、内存、硬盘等数据,缺少一套完整的openapi熔断监控方法。所以当大规模调用openapi出现系统来不及响应,响应时间很慢或者出现服务器宕机等问题时,没有办法做到用户侧及时感知,同时数据库系统崩溃,极大影响到用户操作。

基于以上问题,如何提供一种简单部署、快速感知的openapi监控熔断方案就成了亟需解决的问题。

三、发明创造的目的

本发明是针对现有技术方案的不足,基于sentinel和应用网关进行结合,通过sentinel进行对openapi某一时间采样进行熔断检测,prometheus监控采集openapi调用数据Prometheus会根据进行监控数据计算,gafana然后可视化监控。

为实现基于应用网关和sentinel的熔断以及gafana可视化监控能力,需要实现openapi的自适应熔断监控,需要解决的技术难点主要为以下两点:

第一是自主研发的应用网关,实现对于Prometheus的对openapi调用监控数据采集和sentinel的自定义的时间采样熔断规则。通过编写熔断规则绑定对应openapi,规则通过某一时间窗口采样,对openapi超时响应比例和错误比例来控制。

第二是实现应用网关自动化加载openapi能力和基于gafana的可视化监控。

五、发明创造的技术方案

1. 本发明提供一种基于Prometheus,应用网关,sentinel的openapi的自适应的熔断监控方案,并使用gafana作为可视化监控,其整体技术框架如附图1:

                                                           

附图1.openapi熔断监控整体流程图

 

通过应用网关web页面断路器的熔断规则如下,示例如下:

 

errorCondition: "$StatusCode == 500"  # 错误条件

errorThresholdByPercent: 20    # 用于控制错误阈值的百分比

timeoutThresholdByPercent: 20   # 用于控制后端超时请求的百分比

windowInSeconds: 30                   # 窗口时间

openTimeoutSeconds: 15              # 断路器开的时间

downgradeBackend:               # 降级后的后端配置

  type: mock

  statusCode: 403

3.通过ping-exporter组件的monitor模块进行配置yaml文件来创建监测任务,负责监控机器实例。

                                                     

附图2.Prometheus拉取监控指标数据

2. 如附图2所示,部署完ping-exporter之后,当用户调用openapi时候,openapi监控指标数据会被拉取到Prometheus,Prometheus会根据数据计算,然后gafana进行可视化监控处理。可以展示对应openapi的熔断器的开关状态和对应openapi返回的状态码和响应时间。

                                                 

 

附图3.熔断器的状态转移

六、架构所具有的优点和效果。

利用本发明提供的一种基于时间采样应用网关openapi熔断监控的方法,具有以下优点:

本申请主要用于云计算数据库openapi使用领域,由于传统的网关监测并不能针对某个特定openapi进行熔断降级处理,不能满足用户自定义openapi后端处理;基于Prometheus和ping-exporter的监控以及gafana可视化监控,使用的组件成熟,部署方式简单,还可以及时让用户发现某个或者多个openapi熔断状态并及时做有效处理,有效的降低了经济损失和减少了人力资源成本。

七、实施例

1. 通过应用网关web页面可以自定义断路器规则。绑定经常报错或者超时的openapi。

2. 将ping-exporter二进制文件移至对应的源主机,并修改其为系统服务,设置开机自启动。

3. 根据监控任务参数对ping-exporter配置文件动态修改。配置进行更新。

4. Prometheus拉取实时的openapi调用数据。并在gafana进行可视化展示。

文章来自个人专栏
个人学习总结
2 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0