我们有一个传入的kafka主题,其中已序列化了多个基于Avro模式的消息。
我们需要根据通用架构属性的特定值将Avro格式的消息分为多个其他kafka主题。
|------> [OUTGOING TOPIC(AVRO) - A]
[INCOMING TOPIC(AVRO)] ----->|------> [OUTGOING TOPIC(AVRO) - B]
|------> [OUTGOING TOPIC(AVRO) - C]
想了解如何实现此目标,同时避免构建中间客户端来在融合平台中执行此拆分/路由。
我探索了kafka连接器,但没有找到可以完成此工作的现有连接器。
答案 0 :(得分:1)
您可以编写Kafka Streams应用程序并使用branch()
:
KStream input = builder.stream("topic");
KStream[] splitStreams = input.branch(...);
splitStream[0].to("output-topic-1");
splitStream[1].to("output-topic-2");
// etc.