相关疑难解决方法(0)

什么决定卡夫卡消费者的抵消?

我对卡夫卡比较新.我已经做了一些实验,但有一些事情我不清楚消费者抵消.从我到目前为止所理解的情况来看,当消费者开始时,它将开始读取的偏移量由配置设置决定auto.offset.reset(如果我错了,请纠正我).

现在说,例如主题中有10条消息(偏移0到9),并且消费者在它关闭之前(或者在我杀死消费者之前)恰好消耗了其中的5条消息.然后说我重启那个消费者流程.我的问题是:

  1. 如果auto.offset.reset设置为smallest,它是否总是从偏移量0开始消耗?

  2. 如果auto.offset.reset设置为largest,是否将从偏移量5开始消耗?

  3. 关于这种情况的行为总是确定的吗?

如果我的问题中的任何内容不清楚,请不要犹豫.提前致谢.

java distributed-computing apache-kafka

151
推荐指数
3
解决办法
7万
查看次数

Kafka的基于键/值对的消息传递的目的是什么?

所有的例子卡夫卡 | 生产者显示ProducerRecord的键/值对不仅是相同的类型(所有示例都显示<String,String>),而是相同的.例如:

producer.send(new ProducerRecord<String, String>("someTopic", Integer.toString(i), Integer.toString(i)));
Run Code Online (Sandbox Code Playgroud)

但是在Kafka文档中,我似乎无法找到解释键/值概念(及其基本目的/效用)的位置.在传统的消息传递(ActiveMQ,RabbitMQ等)中,我总是在特定的主题/队列/交换中发出消息.但Kafka是第一个似乎需要键/值对的代理,而不仅仅是一个正常的'字符串消息.

所以我问:要求生产者发送KV对的目的/用途是什么?

messaging message-queue key-value messagebroker apache-kafka

59
推荐指数
2
解决办法
2万
查看次数

kafka最早和最新的偏移值之间有什么区别

producer 发送消息1,2,3,4

consumer 接收消息1,2,3,4

consumer 崩溃/断开

producer 发送消息5,6,7

consumer 恢复,应该从5而不是7开始收到消息

对于这种结果,offset我必须使用哪个值以及需要做哪些其他更改/配置

apache-kafka kafka-consumer-api

17
推荐指数
1
解决办法
2万
查看次数