【发布时间】:2017-12-02 13:54:31
【问题描述】:
是否可以在不订阅的情况下创建 Kafka 发布者,然后从另一个应用程序创建消费者,订阅主题并触发记录的发送?
我正在通过以下方式创建发布者:
- 致电
KafkaSender.create(senderOptions) - 后跟
createOutbound() - 只要应用程序正在运行,就会连续调用
send()。
在消费者方面(不同的应用程序),我所做的是:
- 致电
KafkaReceiver.create(options) - 后跟
receive() - 后跟
subscribe(function -> doSomething())
目前,除非我在发布者上执行then().subscribe(),否则消费者不会收到任何信息,这会使其立即发出。理想情况下,我希望它在其他应用程序的消费者订阅时开始发射。
您能否告诉我我正在尝试做的事情是否可行?
非常感谢。
Reactor-Kafka 项目可以在这里找到:https://github.com/reactor/reactor-kafka
【问题讨论】:
-
很高兴看到一些小应用程序让我们从我们身边玩。
-
非常感谢您回复我。我创建了一些示例应用程序并在 BitBucket 上与您分享了代码。请注意,您需要在监控项目中编辑
reactive-consumer.props和reactive-producer.props以指向真正的 Kafka 服务器。 -
就目前而言,消费者接收来自热生产者的记录,而不是来自冷生产者的记录。如果您注释掉生产者的订阅,消费者将一无所获。提前感谢您帮助我解决这个问题!
标签: apache-kafka reactive-programming observer-pattern project-reactor