是否可以在不订阅的情况下创建Kafka发布者,然后从另一个应用程序创建消费者,订阅该主题并触发记录发布?
我通过以下方式创建发布商:
KafkaSender.create(senderOptions)
createOutbound()
send()
。在消费者方面(不同的应用程序),我所做的是:
KafkaReceiver.create(options)
receive()
subscribe(function -> doSomething())
目前,除非我在发布商处then().subscribe()
,否则消费者不会收到任何消息,这会使其立即发出声音。理想情况下,我希望它在其他应用程序的消费者订阅时开始发送。
你能告诉我我想做的事情是否可行?
非常感谢。
可以在此处找到Reactor-Kafka项目:https://github.com/reactor/reactor-kafka
答案 0 :(得分:0)
好吧,我认为你应该从概念经纪人开始。这正是将消费者与生产者区分开来的想法,让最后一个消费者与生产者区别开来,如果在另一方面有消费者,那就真的不担心。
当消费者到达代理进行订阅时,它能够读取主题中的所有旧记录,或者只对新生成的内容作出反应。但这已经是目标消息代理实现的细节。
消费者肯定没有API可以找出有关该主题的消费者。我担心你需要实施自己的解决方案。甚至可能通过相同的Kafka但使用单独的主题 - 类似发送/接收命令消息,并且已经存在,通过适当的命令,从生产者方面了解有生产者,因此调用提到的then().subscribe()
。 / p>