我正在使用C#asp.net core 2.0,Kafka,CQRS和Confluent Kafka .net库编写微服务应用程序。
只是想知道kafka是否可以通知消费者而不是消费者轮询/消费消息?
谢谢
答案 0 :(得分:0)
Kafka无法将通知推送给消费者。
消费者必须不断轮询/消费消息才能接收它们。这是存储在Kafka中的消息可以流向消费者的唯一途径。
Apache Kafka文档中的Consumer Design section解释了为什么选择“消费拉动”而不是“经纪人推动”。
答案 1 :(得分:0)
Kafka 只能拉取,这是设计使然。但是您可以使用更高级别的抽象。我已经构建了一个名为 Silverback (https://github.com/BEagle1984/silverback) 的库,它为您实现了所有这些,以便您可以专注于逻辑。消费循环在 Silverback 中实现,然后将消息“推送”给您的订阅者。
在此处查看示例:https://silverback-messaging.net/samples/kafka/basic.html#consumer。