如何使用reactor kafka创建冷发布服务器?

kiz8lqtg  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(410)

有没有可能创建一个kafka发布者而不订阅它,然后从另一个应用程序创建一个消费者,订阅主题,并触发记录的发布?
我正在通过以下方式创建发布者:
打电话 KafkaSender.create(senderOptions) 然后 createOutbound() 接着是一连串的电话 send() 只要应用程序还在运行。
在用户端(另一个应用程序),我要做的是:
呼叫 KafkaReceiver.create(options) 然后 receive() 然后 subscribe(function -> doSomething()) 目前,消费者没有收到任何东西,除非我做一个 then().subscribe() 在publisher上,这使得它可以直接发射。理想情况下,我希望它在其他应用程序的使用者订阅时开始发射。
你能告诉我我正在做的事是否可行吗?
非常感谢。
KafkaReact堆项目可以在这里找到:https://github.com/reactor/reactor-kafka

rdrgkggo

rdrgkggo1#

我觉得你应该从概念经纪人开始。这正是一个将消费者与生产者区分开来的想法,让最后一个生产者生产并忘记,真的不必担心是否有消费者在另一边。
当使用者到达代理进行订阅时,它可以读取主题中的所有旧记录,或者只对新生成的记录作出React。但这已经是目标消息传递代理实现的细节了。
对于消费者来说,绝对没有api可以让他们知道这个主题上有消费者。恐怕你需要实施你自己的解决方案。甚至可以通过同一个Kafka,但使用一个单独的主题-例如发送/接收命令消息,并且已经存在,通过适当的命令,从生产者方面理解存在生产者,因此调用所提及的主题 then().subscribe() .

相关问题