用于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#L1147Poll
与Consume
相同,只是公开具有不同语义的消息。 Consume
将返回out
参数中的消息,而Poll
返回null并触发OnMessage
事件。
编辑:在v1中,只剩下Consume
调用,不再造成困惑。