首页 > 其他分享 >一个有意思的问题:Kafka的消费Offset会溢出吗

一个有意思的问题:Kafka的消费Offset会溢出吗

时间:2022-10-14 00:34:54浏览次数:89  
标签:消费 Partition Kafka 千亿 Offset 溢出

异想天开

最近在项目上接入公司APP产品的用户点击日志数据时,发现消费者组的Offset值非常大,才一天的时间,已提交的Offset值就有千亿级别了。
于是不禁想了一个问题:假设一个Topic就只有一个Partition,每天产生数据量为100000000000(千亿)条,那是否会出现该分区下的消费Offset溢出的情况呢?
经过搜索发现,果然也有类似的问题被提过,答案是:完全不用担心Kafka分区的消费Offset会出现溢出的情况!
简单计算如下:
1.假设Kafka只有一个Topic,且该Topic只有一个Partition,每天写入的数据量刚好是1千亿,那么多长时间之后会出现消费Offset溢出的情况呢?
2.Kafka中的消费Offset使用的是java.lang.Long类型,最大值为:9223372036854775807
3.按每天的生产量为1千亿算,Kafka的最大消费Offset可以支持:9223372天=9223372036854775807/1千亿 => 25269年

从上述简单的计算结果看,完全不用担心Kafka的消费Offset会有溢出的情况会出现(注:理论上是会溢出的)。

总结:
1.Kafka的消费Offset使用java.lang.Long类型表示,最大值是一个非常大的数字
2.虽然理论上存在会溢出的时候,但是由于现实条件不满足(没有一个软件系统是可以存活成千上万年的!)

另外,Kafka的消费Offset是按Partition计算的,每个Partition的消费Offset都是从0开始累加。

标签:消费,Partition,Kafka,千亿,Offset,溢出
From: https://www.cnblogs.com/nuccch/p/16790196.html

相关文章

  • kafka实战最佳经验(文末福利)
    Kafka由于高吞吐量、可持久化、分布式、支持流数据处理等特性而被广泛应用。但当前关于Kafka原理及应用的相关资料较少,在我打算编写本文时,还没有见到中文版本的Kafka相关书......
  • Keeping Multiple Databases in Sync Using Kafka Connect and CDC
    SEP20,2022Microservicesarchitectureshavenowbeenwidelyadoptedamongdevelopers,andwithagreatdegreeofsuccess.However,drawbacksdoexist.Data......
  • Kafka效率详解
    前言:讲解透彻,从存储到系统,硬件,网络细节综合考虑问:讲讲kafka为什么这么快?答:kafka的快是从底层设计,到充分利用硬件,系统,压缩等等特性,综合产生的结果。要理解kafka为什么......
  • 【STM32H7】第10章 ThreadX任务栈大小确定及其溢出检测
    ​第10章      ThreadX任务栈大小确定及其溢出检测本章节为大家讲解ThreadX任务栈大小的确定方法以及栈溢出检测方法。给任务分配多大的栈空间,一直是初学者比较头疼......
  • CentOS 7.9 安装 kafka_2.13
    一、CentOS7.9安装kafka_2.13地址https://kafka.apache.org/downloads.html 二、安装准备1安装JDK在安装kafka之前必须先安装JDK和zookeeper,如何安装JDK,可......
  • 03、如何理解Kafka和Zookeeper的关系
    001、Kafka简介ApacheKafka最早是由Linkedin公司开发,后来捐献给了Apack基金会。Kafka被官方定义为分布式流式处理平台,因为具备高吞吐、可持久化、可水平扩展等特性而被......
  • 02、kafka介绍
    001、kafka简介kafka消息队列有两种消费模式,分别是点对点模式和订阅/发布模式。具体比较可以参考Kafka基础–消息队列与消费模式。下图是一个点对点的Kafka结构示意图p......
  • 01、kafka常用命令
    001、kafka版本kafka_2.13-3.0.0kafka_2.12-2.8.0002、模拟给topic名称是yikuang的发一条数据(helloworld)./kafka-console-producer.sh--broker-listIP:9092-......
  • SpringBoot整合Kafka集群
    前言SpringBoot中集成Kafka,主要目的干啥呢,当然消息推送啦。不同系统之间,自身系统不同组件之间消息通信的一种方式,也可以是使用MQ。使用消息系统的目的主要就是为了解耦、......
  • 在Windows环境下安装运行Kafka
    一、安装JAVAJDK1、下载安装包http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html注意:根据32/64位操作系统下载对应的安装包2、添......