用于Confluent Kafka库的github示例page列出了两种方法,即poll和消耗。两者有什么区别。

我确实在Confluent Kafka库here中查看了Consumer的实现,觉得它们在功能上是相同的,只是返回的内容不同。

Poll()调用consumer()来查看是否有准备接收的消息,如果是,则调用OnMessage事件。而使用,将消息保存在其参数之一中,并返回一个 bool 值。我觉得实现方式有所不同,从功能上来说,它们是相同的
https://github.com/confluentinc/confluent-kafka-dotnet/blob/master/src/Confluent.Kafka/Consumer.cs

最佳答案

你是对的。
https://github.com/confluentinc/confluent-kafka-dotnet/blob/3f48e8944242abf631ea8d2cd5698f6e149e0731/src/Confluent.Kafka/Consumer.cs#L1147
PollConsume相同,只是公开具有不同语义的消息。 Consume将返回out参数中的消息,而Poll返回null并触发OnMessage事件。

编辑:在v1中,只剩下Consume调用,不再造成困惑。

10-06 01:57