The invention discloses a method and a device for consumption of a message queue, which can at least solve the problem that the consumption of the phenomenon is easy to lead to the phenomenon of failure in the consumption of a constant consumption rate in the prior art. Including the consumption method of the message queue: for each message in the message queue partition corresponding to the end consumer spending, the current consumption offset regular access to various consumer terminal corresponding information partition and the maximum effective offset; offset current consumption according to the consumption end corresponding information partition and maximum effective offset determined remaining consumption each end of the corresponding message consumer partition; according to each end of the corresponding message consumer partition remaining consumption, dynamic adjustment of each consumer end consumption rate.
【技术实现步骤摘要】
本专利技术涉及通信
,具体涉及一种消息队列的消费方法及装置。
技术介绍
目前,当业务前端生产者产生消息之后,通常是将待处理的消息存储于消息队列的消息分区中,然后交由后端的消费端进行处理。在现有技术中,各个消费端对消息分区中的消息进行消费时,消费速度往往是恒定不变的。但是,专利技术人在实现本专利技术的过程中发现,现有技术中的上述方式至少存在下述缺陷:恒定的消费速度无法根据消息分区中的剩余可消费量进行动态调整,因此,当某个消息分区中的消息数据较少时则很可能导致消费失败的现象,由此产生错误数据,甚至影响整个数据处理系统的正常运行。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的消息队列的消费方法及装置。根据本专利技术的一个方面,提供了一种消息队列的消费方法,包括:分别为所述消息队列中的各个消息分区分配对应的消费端进行消费,定期获取各个消费端对应的消息分区的当前消费偏移以及最大有效偏移;根据各个消费端对应的消息分区的当前消费偏移以及最大有效偏移确定各个消费端对应的消息分区的剩余可消费量;根据各个消费端对应的消息分区的剩余可消费量,动态调整各个消费端的消费速度。根据本专利技术的另一个方面,提供了一种消息队列的消费装置,包括:获取模块,适于分别为所述消息队列中的各个消息分区分配对应的消费端进行消费,定期获取各个消费端对应的消息分区的当前消费偏移以及最大有效偏移;确定模块,适于根据各个消费端对应的消息分区的当前消费偏移以及最大有效偏移确定各个消费端对应的消息分区的剩余可消费量;第一调整模块,适于根据各个消费端对应的消 ...
【技术保护点】
一种消息队列的消费方法,包括:分别为所述消息队列中的各个消息分区分配对应的消费端进行消费,定期获取各个消费端对应的消息分区的当前消费偏移以及最大有效偏移;根据各个消费端对应的消息分区的当前消费偏移以及最大有效偏移确定各个消费端对应的消息分区的剩余可消费量;根据各个消费端对应的消息分区的剩余可消费量,动态调整各个消费端的消费速度。
【技术特征摘要】
1.一种消息队列的消费方法,包括:分别为所述消息队列中的各个消息分区分配对应的消费端进行消费,定期获取各个消费端对应的消息分区的当前消费偏移以及最大有效偏移;根据各个消费端对应的消息分区的当前消费偏移以及最大有效偏移确定各个消费端对应的消息分区的剩余可消费量;根据各个消费端对应的消息分区的剩余可消费量,动态调整各个消费端的消费速度。2.根据权利要求1所述的方法,其中,各个消费端对应的消息分区的剩余可消费量根据各个消费端对应的消息分区的最大有效偏移与当前消费偏移之间的差值确定。3.根据权利要求1或2所述的方法,其中,所述根据各个消费端对应的消息分区的剩余可消费量,动态调整各个消费端的消费速度的步骤具体包括:将各个消费端对应的消息分区的剩余可消费量中的最小值确定为最小可消费量;将所述最小可消费量对应的消费端的消费速度确定为参考消费速度;根据所述最小可消费量调整所述参考消费速度。4.根据权利要求3所述的方法,其中,所述根据所述最小可消费量调整所述参考消费速度的步骤具体包括:当所述最小可消费量小于预设时间段内按照所述参考消费速度的消费量时,将所述参考消费速度减小为与所述最小可消费量相匹配的数值;和/或,当所述最小可消费量大于预设时间段内按照所述参考消费速度的消费量时,将所述参考消费速度增大为与所述最小可消费量相匹配的数值。5.根据权利要求4所述的方法,其中,所述方法进一步包括:根据其他消费端对应的消息分区的剩余可消费量与所述最小可消费量之间的比...
【专利技术属性】
技术研发人员:邓怡豪,
申请(专利权)人:北京奇虎科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。