如何使用反应堆-Kafka创建一个冷发布者



是否可以创建一个Kafka发布者而不订阅它,然后,从另一个应用程序中,创建消费者,订阅主题并触发记录的排放?

我正在创建出版商:

  1. 致电KafkaSender.create(senderOptions)
  2. 接下来是createOutbound()
  3. 只要应用程序正在运行,随后是send()的连续电话。

在消费者方(一个不同的应用程序)上,我要做的是:

  1. 致电KafkaReceiver.create(options)
  2. 接下来是receive()
  3. 接下来是subscribe(function -> doSomething())

目前,除非我在发布者上进行then().subscribe(),否则消费者什么也没收到,这使其立即发出。理想情况下,我希望它在其他应用程序中的消费者订阅时开始发出。

您能告诉我我想做的事是否可行吗?

非常感谢。

可以在此处找到反应堆-Kafka项目:https://github.com/reactor/reactor-kafka

好吧,我认为您应该从概念 broker 开始。这正是将消费者与生产者区分开的想法,并让最后一位生产和忘记,并且真的不必担心其他方面是否有消费者。

当消费者到达经纪人进行订阅时,它可以阅读主题中的所有旧记录,或者只是对新生产的反应。但这已经是目标消息经纪实施的详细信息。

消费者肯定没有API弄清楚该主题的消费者。恐怕您需要实施自己的解决方案。甚至通过同一kafka,但使用一个单独的主题 - 诸如发送/接收命令消息之类的东西,并且已经在适当的命令中从生产者方面理解有一个生产者,因此请致电上述then().subscribe()

最新更新