[发明专利]消息消费方法、装置及可读存储介质有效
申请号: | 201910678448.1 | 申请日: | 2019-07-25 |
公开(公告)号: | CN110535787B | 公开(公告)日: | 2023-06-27 |
发明(设计)人: | 柯登科;段光磊;王平;赫振军;周正;张大虎;王杨;徐婷 | 申请(专利权)人: | 北京奇艺世纪科技有限公司 |
主分类号: | H04L67/1008 | 分类号: | H04L67/1008;H04L67/1097;H04L47/50;G06F9/50 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 莎日娜 |
地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 消息 消费 方法 装置 可读 存储 介质 | ||
本发明实施例提供了一种消息消费方法、装置及可读存储介质。本发明消息消费方法,包括:将每个消息缓存到与目标分区对应的第一目标消息队列,并将每个消息中的消息的最大偏移量发送给Kafka服务器,以获取最大偏移量之后的至少一个消息,从而无需等到将获取的一批消息处理完毕,即可以获取最大偏移量之后的至少一个消息,在一定程度上加快了从Kafka服务器获取消息的速率。并且可以通过与第一目标消息队列对应的线程池中的多个第一线程,从第一目标消息队列中获取消息,并消费消息,从而提高了消息消费的效率。
技术领域
本发明涉及通信领域,特别是涉及一种消息消费方法、装置及可读存储介质。
背景技术
Kafka是由Linkedin开发的一个分布式的消息队列系统。Kafka开发的主要目标是构建一个用来处理海量日志用户行为和网站运营统计等的数据处理框架。Kafka集群包含一个或多个Kafka服务器,每条发布到Kafka服务器的消息都有一个主题,该主题被称为Topic,一个Kafka服务器可以容纳多个Topic,每个Topic包含一个或多个分区。生产客户端可以向Kafka服务器发送消息,消费客户端可以消费Kafka服务器中的消息。
目前,在业务接入kafka服务器前需预估生产客户端和消费客户端的吞吐量来决定配置的主题(Topic)的分区数量。但是生产客户端的消息吞吐量突增超过预期时,这时需要提高消费客户端的消费能力来避免消息的滞留。但是目前的方案一个分区对应消费客户端的一个消费线程,通过一个消费线程将之前从与该消费线程对应的分区中获取的消息消费完之后,才能从该分区中获取下一批消息进行消费,因此,影响了消费客户端消费消息的速率。
发明内容
本发明实施例提供一种消息消费方法、装置及可读存储介质,以解决目前消费客户端对Kafka服务器中的消息消费的速率较低的问题。
本发明实施例的第一方面,提供了一种消息消费方法,包括:
根据配置的Kafka服务器的地址和主题,从所述Kafka服务器获取属于所述主题的至少一个消息,并确定每个所述消息所属的目标分区;
将属于所述目标分区的所述消息缓存到与所述目标分区对应的第一目标消息队列,并将每个所述消息中的消息的最大偏移量发送给所述Kafka服务器,以从所述Kafka服务器中获取所述最大偏移量之后的至少一个消息;
通过与所述第一目标消息队列对应的线程池中的多个第一线程,从所述第一目标消息队列中获取所述消息,并消费所述消息。
本发明实施例的第二方面,提供了一种消息消费装置,设置于消费客户端,包括:
第一获取模块,用于根据配置的Kafka服务器的地址和主题,从所述Kafka服务器获取属于所述主题的至少一个消息,并确定每个所述消息所属的目标分区;
缓存模块,用于将属于所述目标分区的所述消息缓存到与所述目标分区对应的第一目标消息队列,并将每个所述消息中的消息的最大偏移量发送给所述Kafka服务器,以从所述Kafka服务器中获取所述最大偏移量之后的至少一个消息;
第二获取模块,用于通过与所述第一目标消息队列对应的线程池中的多个第一线程,从所述第一目标消息队列中获取所述消息,并消费所述消息。
本发明实施例的第三方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述所述的消息消费方法的步骤。
本发明的第四方面,提供了一种消息消费装置,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述所述的消息消费方法的步骤。
针对在先技术,本发明具备如下优点:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇艺世纪科技有限公司,未经北京奇艺世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910678448.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种数据传输的方法及相关设备
- 下一篇:多协议控制器和多协议交换芯片