如何从Kafka消息总线推送通知消费者

时间:2018-09-11 10:27:06

标签: c# apache-kafka confluent-kafka

我正在使用C#asp.net core 2.0,Kafka,CQRS和Confluent Kafka .net库编写微服务应用程序。

只是想知道kafka是否可以通知消费者而不是消费者轮询/消费消息?

谢谢

2 个答案:

答案 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