如何在Kafka流中动态生成单个事件到多个主题?我遇到了TopicNameExtractor,但它一次只返回一个主题。有没有其他方法可以在Kafka流中为多个主题生成单个事件,或者我可以通过组合KafkaStreams和KafkaTemplate来创建混合版本来生成事件?
42fyovps1#
这取决于你对动态的理解。例如,在Kafka Streams中,你可以将一个流分成几个分支,这些分支将根据输入记录上的 predicate 转到不同的主题:
Map<String, KStream<String, Long>> branches = stream.split(Named.as("Branch-")) .branch((key, value) -> key.startsWith("A"), /* first predicate */ Branched.as("A")) .branch((key, value) -> key.startsWith("B"), /* second predicate */ Branched.as("B")) .defaultBranch(Branched.as("C"))
字符串参见https://docs.confluent.io/platform/current/streams/developer-guide/dsl-api.html
1条答案
按热度按时间42fyovps1#
这取决于你对动态的理解。例如,在Kafka Streams中,你可以将一个流分成几个分支,这些分支将根据输入记录上的 predicate 转到不同的主题:
字符串
参见https://docs.confluent.io/platform/current/streams/developer-guide/dsl-api.html