跟进这个问题——我想知道消费者组和偏移过期之间的语义学。总的来说,我很想知道,kafka协议如何确定一些特定的偏移量(对于消费者组、主题、分区组合)过期?它是基于作为组协议一部分的消费者的定期提交,还是在所有消费者被视为已死/关闭后应用ofatle-tick
?我认为这可能会在处理数据不经常生成的主题分区时产生影响。在我的例子中,我们有一个来自相当空闲
主题的消费者组读取(产生的数据不多)。由于消费者组不定期提交任何偏移量,我们是否会有丢失先前提交的偏移量的危险。例如,当发生一些不可预见的重新平衡时,主题分区可能会被重新分配并丢失偏移量提交,这可能会导致消费者从最早(配置auto.offset.reset)
点读取数据?
对于用户主题,偏移到期/主题保留与消费者组偏移完全解耦。当消费者访问细分市场时,细分市场不会“重新打开”。
至少,<代码>段。字节,保留时间。毫秒(或分钟/小时),保留时间。字节数决定何时删除日志段。
对于内部__consumer_offsets
主题,offsets.retention.minutes
控制何时删除它(也与其segment.bytes
协调)。
LogCleaner线程定期主动移除闭合段,而不是使用者。如果消费者明显滞后,并且在请求已删除段的偏移量时,则自动。抵消应用重置。
我是Kafka的新手,正在学习Kafka内部知识。请根据需要随时更正我的理解。。 这是我的实时场景..感谢所有的回复: 我有一个接收数据文件的实时FTP服务器…比如索赔文件。 我将把这些数据发布到一个主题中.让我们把这个主题称为claims_topic(2个分区). 我需要订阅这个claims_topic,阅读消息并将它们写入Oracle和Postgres表。让我们将oracle表称为Otable
我在使用Kafka时遇到了一些问题。非常感谢任何帮助!我在docker swell中分别有zookeeper和kafka集群3个节点。您可以在下面看到Kafka代理配置。 我的情况: < li > 20x位制片人不断向Kafka主题传达信息 < li>1x消费者读取和记录消息 < li >终止kafka节点(docker容器停止),因此现在群集有2个Kafka代理节点(第3个节点将自动启动并加入群
我正在阅读Kafka常见问题解答,他们如下所示。 •每个分区不会被每个使用者组中的多个使用者线程/进程使用。这允许每个进程以单线程方式使用,以保证分区内的使用者的顺序(如果我们将有序消息分割成一个分区并将它们传递给多个使用者,即使这些消息是按顺序存储的,它们有时也会被无序地处理)。 有没有可能,
假设我有一个名为“MyTopic”的主题,它有3个分区P0、P1和P2。这些分区中的每一个都有一个leader,并且本主题的数据(消息)分布在这些分区中。 1.Producer将始终根据代理上的负载以循环方式写到分区的领导者。对吗? 2.制作人如何认识隔断的首领?
我有一个用例,其中数据将从kafkaTopic1流入程序(我们称之为P1),经过处理,然后持久化到数据库。P1将在一个多节点集群上,因此每个节点将处理大量的kafka分区(假设本主题有5个节点和50个kafka分区)。如果其中一个节点由于任何原因完全失败,并且有数据正在处理,那么该数据将丢失。 例如,如果kafkaTopic1上有500条消息,node2拉出了10条消息(因此根据偏移量要拉出的下一
我是Kafka的新手。我看了一眼Kafka文档。似乎分派给订阅消费者组的消息是通过将分区与消费者实例绑定来实现的。 在使用Apache Kafka时,我们应该记住一件重要的事情,即同一消费者组中的消费者数量应该小于或等于所使用主题中的分区数量。否则,将不会收到来自主题的任何消息。 在非prod环境中,我没有配置主题分区。在这种情况下,Kafka是否只有一个分区。如果我启动共享同一组的多个消费者并向