【发布时间】:2019-01-31 04:36:39
【问题描述】:
我正在使用 Confluent 的 .NET Client library。
我需要连接到一个主题并读回其中写的最后一条消息。我不能使用绝对偏移量,因为我不知道它,而且逻辑偏移量似乎没有帮助。特别是 Offset.End 将 cursor 放在最后一个条目之后 ,因此任何后续读取调用(如 Consume)将返回一个更新的条目(如果可用),或者null,但不是通话时可用的最新消息。
我实际上想知道它是否是 Kafka 用例中的一个合理用例(我对它很陌生)。我找到了一些类似案例的例子,但没有任何解释这个案例,而且我找不到让其他案例适应我的好方法。我还尝试对游标进行一些算术运算,例如对它们进行求和/减法(即Offset.End-1 或Offset.End-new Offset(1)),但我得到的显然是无法使用的异常游标。这让我想到:为什么 + 和 - 已经为 Offset 定义了,如果它们允许您制作无效值?但那是另一回事。
【问题讨论】:
-
我能够使用
OffsetsForTimes取得足够好的成绩,这并不完美,但对于我的目标来说还可以。如果有一个更简单更好的解决方案,它仍然会很有趣。
标签: c# .net apache-kafka kafka-consumer-api confluent-platform