[发明专利]一种基于实时流处理框架的服务熔断方法和装置在审
申请号: | 202110159424.2 | 申请日: | 2021-02-05 |
公开(公告)号: | CN113760589A | 公开(公告)日: | 2021-12-07 |
发明(设计)人: | 高稼伟 | 申请(专利权)人: | 北京京东振世信息技术有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;王安娜 |
地址: | 100086 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 实时 处理 框架 服务 熔断 方法 装置 | ||
本发明公开了一种基于实时流处理框架的服务熔断方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:采集服务日志,根据所述服务日志中各个请求的处理结果并基于时间窗口计算服务的错误率;判断所述服务的错误率是否大于熔断阈值;若所述服务的错误率大于熔断阈值,则开启所述服务的熔断器,以对所述服务进行熔断;若所述服务的错误率小于或等于熔断阈值,则关闭所述服务的熔断器。该实施方式能够解决不能及时发现服务异常的技术问题。
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于实时流处理框架的服务熔断方法和装置。
背景技术
熔断机制是应对雪崩效应的一种微服务链路保护机制。我们在各种场景下都会接触到熔断这两个字。高压电路中,如果某个地方的电压过高,熔断器就会熔断,对电路进行保护。股票交易中,如果股票指数过高,也会采用熔断机制,暂停股票的交易。同样,在微服务架构中,熔断机制也是起着类似的作用。当算出链路的某个微服务不可用或者响应时间太长时,会进行服务的降级,进而熔断该节点微服务的调用,快速返回约定好的错误码,熔断后需要不断检测服务是否正常,如果响应已正常需要恢复调用链路。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
采用定时轮询的方式采集服务日志,因此不能及时发现服务异常,导致出现服务雪崩等严重问题。
发明内容
有鉴于此,本发明实施例提供一种基于实时流处理框架的服务熔断方法和装置,以解决不能及时发现服务异常的技术问题。
为实现上述目的,根据本发明实施例的一个方面,提供了一种基于实时流处理框架的服务熔断方法,包括:
采集服务日志,根据所述服务日志中各个请求的处理结果并基于时间窗口计算服务的错误率;
若所述服务的错误率大于熔断阈值,则开启所述服务的熔断器,以对所述服务进行熔断;
若所述服务的错误率小于或等于熔断阈值,则关闭所述服务的熔断器。
可选地,根据所述服务日志中各个请求的处理结果并基于时间窗口计算服务的错误率,包括:
将时间窗口划分为N个桶;其中,N为正整数;
记录每个桶内所述服务日志中各个请求的处理结果;
根据距离当前时间最近的N个桶内所述服务日志中各个请求的处理结果,计算服务的错误率;。
可选地,根据距离当前时间最近的N个桶内所述服务日志中各个请求的处理结果,计算服务的错误率,包括:
将距离当前时间最近的N个桶内所述服务日志中处理结果为失败、超时和拒绝的各个请求相加,得到第一请求数量;
将距离当前时间最近的N个桶内所述服务日志中的各个请求相加,得到第二请求数量;
将所述第一请求数量除以所述第二请求数量,得到服务的错误率。
可选地,还包括:
若所述服务的熔断器开启,则通过异常处理逻辑处理请求;
若所述服务的熔断器关闭,则调用所述服务。
可选地,通过异常处理逻辑处理请求,包括:
若当前时间到达所述服务的睡眠结束时间,则允许部分请求调用所述服务,并将所述部分请求的处理结果写入所述服务日志中;
若当前时间未到达所述服务的睡眠结束时间,则继续睡眠,并通过异常处理逻辑处理请求。
可选地,所述实时流处理框架为Apache Flink框架。
可选地,所述实时流处理框架的处理速度为毫秒级。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东振世信息技术有限公司,未经北京京东振世信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110159424.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种无界流数据处理方法、装置、设备及存储介质
- 下一篇:一种精准营销系统