消息队列处理方法、线程池参数调整方法、装置和设备制造方法及图纸

技术编号:31079087 阅读:44 留言:0更新日期:2021-12-01 11:36
本公开的实施例公开了消息队列处理方法、线程池参数调整方法、装置和设备。该方法的一具体实施方式包括:响应于确定本地缓存的线程池参数发生变化,对目标任务消息队列对应的线程池的线程池参数进行调整;响应于确定该目标任务消息队列中的任务消息消费成功,从用于备份该目标任务消息队列中的任务消息的备份消息队列中删除与消费成功的任务消息相匹配的备份消息;响应于确定该目标任务消息队列中的任务消息消费失败,将消费失败的任务消息作为失败消息加入失败消息队列。该实施方式实现了简便的达到有效避免消息丢失、确保数据的一致性以及消息队列可靠性的效果。性以及消息队列可靠性的效果。性以及消息队列可靠性的效果。

【技术实现步骤摘要】
消息队列处理方法、线程池参数调整方法、装置和设备


[0001]本公开的实施例涉及计算机
,具体涉及消息队列处理方法、线程池参数调整方法、装置和设备。

技术介绍

[0002]在消息过多时可以通过消息队列对消息进行流量削峰处理、解耦处理和异步处理,从而达到提高服务器处理性能的效果。目前通常采用的方式为:通过消息中间件(例如,ActiveMQ、RabbitMQ等)或数组来实现消息队列的功能。
[0003]然而当采用上述方式实现消息队列的功能时,经常会存在如下技术问题:
[0004]第一,通过消息中间件实现消息队列的功能会存在设计复杂、技术要求较高且部署和维护难度较大的问题;通过数组来实现消息队列的功能,当出现消息丢失的情况时,没有对数据进行备份或难以回溯以及复原丢失的数据,从而导致数据不一致以及消息队列可靠性降低。
[0005]第二,当存在大量的消息请求时,难以实时的、动态的对消息的处理量进行调整,在服务器性能较低的情况下,极有可能导致服务器宕机,进而,严重影响业务的正常执行。

技术实现思路
<br/>[0006]本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种消息队列处理方法,包括:响应于确定本地缓存的线程池参数发生变化,对目标任务消息队列对应的线程池的线程池参数进行调整,其中,所述线程池用于创建以及启动目标任务消息队列处理线程;响应于确定所述目标任务消息队列中的任务消息消费成功,从用于备份所述目标任务消息队列中的任务消息的备份消息队列中删除与消费成功的任务消息相匹配的备份消息;响应于确定所述目标任务消息队列中的任务消息消费失败,将消费失败的任务消息作为失败消息加入失败消息队列。2.根据权利要求1所述的方法,其中,所述方法还包括:响应于确定所述目标任务消息队列中不包括与接收到的消息相匹配的任务消息,将所述接收到的消息作为任务消息加入目标任务消息队列以及将所述接收到的消息作为备份消息加入备份消息队列中。3.根据权利要求1所述的方法,其中,所述方法还包括:调用备份消息队列处理线程对所述备份消息队列中的备份消息进行处理,其中,所述备份消息队列处理线程用于以第一预设频率从所述备份消息队列中获取备份消息以及响应于从所述备份消息队列中获取到备份消息,将获取到的备份消息作为任务消息加入所述目标任务消息队列。4.根据权利要求1所述的方法,其中,所述方法还包括:调用失败消息队列处理线程对所述失败消息队列中的失败消息进行处理,其中,所述失败消息队列处理线程用于以第二预设频率从所述失败消息队列中获取失败消息以及响应于从所述失败消息队列中获取到失败消息,将获取到的失败消息作为任务消息加入所述目标任务消息队列。5.根据权利要求1-4之一所述的方法,其中,所述方法还包括:调用所述目标任务消息队列对应的线程池中的目标任务消息队列处理线程对所述目标任务消息队列中的任务消息进行处理,其中,所述目标任务消息队列处理线程用于调用业务接口对从所述目标任务消息队列中获取到的任务消息进行消费。6.一种线程池参数调整方法,包括:响应于确定线程池对接收到的任务消息的拒绝频率大于等于预设拒绝频率,基于所述线程池的线程池参数生成第一线程池参数,其中,所述线程池的线程池参数包括:核心线程数,最大线程数,阻塞队列容量;利用所述第一线程池参数替换本地缓存中存储的线程池参数,其中,所述本地缓存中存储的线程池参数用在如权利要求1所述的方法中。7.根据权利要求6所述的方法,其中,所述方法还包括:响应于确定所述线程池的线程池参数中包括的最大线程数与所述线程池中的目标任务消息队列处理线程的总数的差值满足预设条件,基于所述线程池的线程池参数生成第二线程池参数;利用所述第二线程池参数替换所述本地缓存中存储的线程池...

【专利技术属性】
技术研发人员:姜振飞
申请(专利权)人:北京京东世纪贸易有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1