是否可以创建一个Kafka发布者而不订阅它,然后,从另一个应用程序中,创建消费者,订阅主题并触发记录的排放?
?我正在创建出版商:
- 致电
KafkaSender.create(senderOptions)
- 接下来是
createOutbound()
- 只要应用程序正在运行,随后是
send()
的连续电话。
在消费者方(一个不同的应用程序)上,我要做的是:
- 致电
KafkaReceiver.create(options)
- 接下来是
receive()
- 接下来是
subscribe(function -> doSomething())
目前,除非我在发布者上进行then().subscribe()
,否则消费者什么也没收到,这使其立即发出。理想情况下,我希望它在其他应用程序中的消费者订阅时开始发出。
您能告诉我我想做的事是否可行吗?
非常感谢。
可以在此处找到反应堆-Kafka项目:https://github.com/reactor/reactor-kafka
好吧,我认为您应该从概念 broker 开始。这正是将消费者与生产者区分开的想法,并让最后一位生产和忘记,并且真的不必担心其他方面是否有消费者。
当消费者到达经纪人进行订阅时,它可以阅读主题中的所有旧记录,或者只是对新生产的反应。但这已经是目标消息经纪实施的详细信息。
消费者肯定没有API弄清楚该主题的消费者。恐怕您需要实施自己的解决方案。甚至通过同一kafka,但使用一个单独的主题 - 诸如发送/接收命令消息之类的东西,并且已经在适当的命令中从生产者方面理解有一个生产者,因此请致电上述then().subscribe()
。