System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及网络消息处理,特别是涉及一种消息降级处理方法及装置。
技术介绍
1、在互联网系统中大部分的系统或者模块,通常都会采用消息中间件进行各个系统或者模块之间的解耦。例如包括rabbitmq、rocketmq以及kafka等相关的消息中间件软件。基于消息中间件,很大程度上提高了异步消息处理的能力。
2、然而,额外多引入消息组件也会带来不稳定性。如当消息中间件网络不稳定时,写入消息的主线程将因为消息中间件堵塞等待,进而导致系统性能受损。如网络稳定,但消息中间件消费消息缓慢致使消息堆积,从而导致主线程阻塞等待影响系统性能。即新引入的消息中间件也可能出现问题,当其出现问题后,也会进一步的给使用组件或者系统带来性能上的问题。
技术实现思路
1、本专利技术所要解决的技术问题是:提供一种消息降级处理方法及装置,解决由于消息中间件异常引起的主线线程阻塞问题。
2、为了解决上述技术问题,本专利技术采用的技术方案为:
3、一种消息降级处理方法,包括:
4、获取预设时间段内存在发送延迟的延迟消息数量,以及获取延迟数量阈值;
5、判断所述延迟消息数量是否大于所述延迟数量阈值,若是,则将待处理消息写入本地消息内存队列并发送;
6、若否,则通过消息中间件连接通道进行所述待处理消息的发送。
7、为了解决上述技术问题,本专利技术采用的另一技术方案为:
8、一种消息降级处理装置,包括存储器、处理器及存储在存储器上
9、本专利技术的有益效果在于:通过获取预设时间段内存在发送延迟的延迟消息数量以及延迟数量阈值判断当前消息中间件处理消息的延迟情况,当判断消息中间件存在异常场景时,能够将待处理消息直接写入本地消息内存队列并发送,即将原本的消息中间件通道降级为本地消息内存队列,从而实现了对消息的动态降级,解决由于消息中间件异常引起的主线线程阻塞问题,减少主线程阻塞的情况发生。
本文档来自技高网...【技术保护点】
1.一种消息降级处理方法,其特征在于,包括:
2.根据权利要求1所述的一种消息降级处理方法,其特征在于,所述通过消息中间件连接通道进行所述待处理消息的发送之后包括:
3.根据权利要求2所述的一种消息降级处理方法,其特征在于,所述标记所述待处理消息为延迟消息之后还包括:
4.根据权利要求2所述的一种消息降级处理方法,其特征在于,所述获取预设时间段内存在发送延迟的延迟消息数量之前包括:
5.根据权利要求1所述的一种消息降级处理方法,其特征在于,所述将待处理消息写入本地消息内存队列并发送之后包括:
6.根据权利要求5所述的一种消息降级处理方法,其特征在于,所述将待处理消息写入本地消息内存队列并发送之后还包括:
7.根据权利要求5所述的一种消息降级处理方法,其特征在于,所述将待处理消息写入本地消息内存队列并发送之后还包括:
8.根据权利要求1所述的一种消息降级处理方法,其特征在于,所述本地消息内存队列采用与所述消息中间件相同的消息处理逻辑。
9.根据权利要求1所述的一种消息降级处理方法,其特征
10.一种消息降级处理装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-9中任一项所述的一种消息降级处理方法中的各个步骤。
...【技术特征摘要】
1.一种消息降级处理方法,其特征在于,包括:
2.根据权利要求1所述的一种消息降级处理方法,其特征在于,所述通过消息中间件连接通道进行所述待处理消息的发送之后包括:
3.根据权利要求2所述的一种消息降级处理方法,其特征在于,所述标记所述待处理消息为延迟消息之后还包括:
4.根据权利要求2所述的一种消息降级处理方法,其特征在于,所述获取预设时间段内存在发送延迟的延迟消息数量之前包括:
5.根据权利要求1所述的一种消息降级处理方法,其特征在于,所述将待处理消息写入本地消息内存队列并发送之后包括:
6.根据权利要求5所述的一种消息降级处理方法,其特征在于,所述将待处...
【专利技术属性】
技术研发人员:刘德建,郑锦斌,郭孟祺,郑坦,张少敏,陈宏,
申请(专利权)人:福建天泉教育科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。