我正在尝试创建一个组件,该组件使用一个主题中的数据,进行处理并将其发送到另一个主题,即,我需要使我的组件既是消费者又是生产者。 如何在Spring Boot应用程序中配置它?
答案 0 :(得分:0)
听起来像您正在寻找的是Kafka Streams API。 它是一种开放源Java API,可通过读取一个主题,执行处理步骤并写入另一个主题来操纵飞行中的事件。 因此,它既充当生产者又充当消费者。 有关示例,请参见Kafka Streams documentation。
为生产者和消费者设置不同的Serde配置:
KStream<String, String> wordCountInputStream = streamsBuilder.stream("word-count-input", Consumed.with(Serdes.String(), Serdes.String()));
KTable<String, Long> wordCounts = wordCountInputStream.mapValues(value -> value.toLowerCase()).....
wordCounts.toStream().to("word-count-output", Produced.with(Serdes.String(), Serdes.Long()));