Kafka Confluent库中的poll和consume之间的差异

时间:2018-04-26 06:20:25

标签: c# apache-kafka kafka-consumer-api confluent-kafka

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

我确实在Confluent Kafka库here中查看了Consumer实现,并且感觉它们在功能上是相同的,并且仅在它们返回的内容方面有所不同。

Poll()调用consume()来查看是否有准备好接收的消息,如果是,则调用OnMessage事件。消费,将消息保存在其中一个参数中,并返回一个布尔值。我觉得实施方面存在差异,而且功能上它们是相同的 https://github.com/confluentinc/confluent-kafka-dotnet/blob/master/src/Confluent.Kafka/Consumer.cs

1 个答案:

答案 0 :(得分:3)

你是对的。 https://github.com/confluentinc/confluent-kafka-dotnet/blob/3f48e8944242abf631ea8d2cd5698f6e149e0731/src/Confluent.Kafka/Consumer.cs#L1147

PollConsume相同,只是暴露具有不同语义的消息。 Consume将在out参数中返回消息,而Poll将返回null并将触发OnMessage事件。

编辑:在第1版中,只剩下Consume来电,不再混淆。