[发明专利]一种增加kafka消费能力的方法在审
申请号: | 201910907527.5 | 申请日: | 2019-09-24 |
公开(公告)号: | CN110648178A | 公开(公告)日: | 2020-01-03 |
发明(设计)人: | 任治州 | 申请(专利权)人: | 四川长虹电器股份有限公司 |
主分类号: | G06Q30/02 | 分类号: | G06Q30/02 |
代理公司: | 51213 四川省成都市天策商标专利事务所 | 代理人: | 胡慧东 |
地址: | 621000 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 偏移量 分区 分段 服务器系统 分段设置 消费方式 消费过程 消费能力 消费数据 应用机器 数据段 服务器 应用 保证 服务 | ||
本发明公开了一种增加kafka消费能力的方法,应用于服务器系统,包括以下步骤:A.建立与Kafka服务的连接;B.为每一个分区划分数据段,得出各分区的分段数量;C.为每个分区的每个分段设置开始偏移量和结束偏移量;D.根据得到的各分区的分段数量及每个分段的开始偏移量和结束偏移量为每个消费者指定消费区间;E.完成消费过程,得到消费数据。本发明的方法可实现在同一个组下,让一个Partition分区能被多个Consumer消费,并能保证数据的完整性,这种高效的消费方式,有效的增加了应用机器的利用率,而不是一味的给kafka服务器本身增加压力。
技术领域
本发明涉及软件技术领域,特别涉及一种增加kafka消费能力的方法。
背景技术
Kafka是一种高吞吐量的分布式发布订阅消息系统。现在它已被很多公司作为多种类型的数据管道和消息系统使用。
为了更好的说明及理解本发明的技术方案,对Kafka的基础概念作如下介绍:
1、生产者与消费者
对于Kafka来说客户端有两种基本类型,如图1所示,包括:生产者(Producer)、消费者(Consumer),生产者(也称为发布者)创建消息,而消费者(也称为订阅者)负责消费消息。
2、主题(Topic)与分区(Partition)
在Kafka中,消息以主题(Topic)来分类,每一个主题都对应一个「消息队列」,即类似于数据库中的表。但是如果把所有同类的消息都塞入到一个“中心”队列中,势必缺少可伸缩性,无论是生产者/消费者数目的增加,还是消息数量的增加,都可能耗尽系统的性能或存储。对于此问题,如图2所示,本方案中引入了分区(Partition)的概念完成了水平扩展。
3、Broker和集群(Cluster)
一个Kafka服务器也称为Broker,它接受生产者发送的消息并存入磁盘,Broker同时服务消费者拉取分区消息的请求,返回目前已经提交的消息。使用特定的机器硬件,一个Broker每秒可以处理成千上万的分区和百万量级的消息。若干个Broker组成一个集群(Cluster),其中集群内某个Broker会成为集群控制器(Cluster Controller),它负责管理集群,包括分配分区到Broker、监控Broker故障等。在集群内,一个分区由一个Broker负责,这个Broker也称为这个分区的Leader。当然一个分区可以被复制到多个Broker上来实现冗余,这样当存在Broker故障时可以将其分区重新分配到其他Broker来负责。
在官方提供的CLIENT API中,不同的groupId区分不同的消费分组,同组(groupId相同)的消费者消费的数据的和集等于topic中的数据总和,如果一个分组内的消费者数据总和大于topic的分区数,那么其中的某些消费者是消费不到数据的。而如果同一分组内的消费者数量小于topic的分区数,那么其中的某些消费者会消费多个分区内的数据。如果同一分组内的消费者数量刚好等于topic的分区数,那么消费者会和分区一一对应,所以,要提高消费端的消费效率,只有通过增加topic的分区数量,但是分区数量从服务器硬件环境来说是有限的。因此,要在有限的topic分区数量下,提高消费端消费效率,就需要一种特殊的消费方式,变相的增加消费的并行能力。
发明内容
本发明的目的是克服上述背景技术中不足,提供一种增加kafka消费能力的方法,可实现在同一个组下,让一个Partition分区能被多个Consumer消费,并能保证数据的完整性,这种高效的消费方式,有效的增加了应用机器的利用率,而不是一味的给kafka服务器本身增加压力。
为了达到上述的技术效果,本发明采取以下技术方案:
一种增加kafka消费能力的方法,应用于服务器系统,包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川长虹电器股份有限公司,未经四川长虹电器股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910907527.5/2.html,转载请声明来源钻瓜专利网。