gpt4 book ai didi

c - 从kafka获取最后写入的消息偏移量

转载 作者:行者123 更新时间:2023-11-30 16:27:42 29 4
gpt4 key购买 nike

我正在向名为 default 的主题生成消息。

我的生产者分区是RD_KAFKA_PARTITION_UA,当我使用未分配的分区时,如何获取推送到default主题的最后一条消息的偏移量。

我不需要消费者的偏移量,我需要最后发布的消息的偏移量。

我需要崩溃恢复的偏移量,无意进行人为干预。

我需要使用librdkafka的偏移量,当我的程序再次启动时,根据偏移量,我将对我的程序进行一些修改,所以我只需要在需要时通过API获取它.

我认为我不能依赖回调,

假设我推送了消息,收到了回调并且我的程序崩溃了。

我推送了我的消息,我正要进行投票,但我的程序崩溃了。

我正在使用 C 语言 librdkafka 库。

最佳答案

使用生产商的交付报告可以轻松完成此操作。

librdkafka 示例之一 rdkafka_example.c ,演示此功能。

例如:

./rdkafka_example -P -b localhost:9092 -t testtopic -o report
% Type stuff and hit enter to send
hello
del: Success: offset 0
% Message delivered (5 bytes, offset 0, partition 0): hello
hello
% Sent 5 bytes to topic testtopic partition -1
del: Success: offset 1
% Message delivered (5 bytes, offset 1, partition 0): hello
^Cdel: Success: offset 2
% Message delivered (5 bytes, offset 2, partition 0): hello

您会看到,对于发送的每条消息,传送报告都包含生成的消息的偏移量。

基本上这个例子:

  • 设置product.offset.report=true [1]
  • 注册交货报告 [2]
  • 在交货报告中,访问偏移字段 [3]

关于c - 从kafka获取最后写入的消息偏移量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52665413/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com