首页 > 解决方案 > 具有多事件类型主题的 KStreams

问题描述

我正在为 Kafka 及其每个主题概念的多事件类型而苦苦挣扎。根据这篇文章,在某些情况下,将不同类型的事件保存在单个主题中是可以的。而且我相信我有所有先决条件来使用它。在没有深入探讨这个想法的情况下,我只是告诉我我想将同一主题中的命令和事件保持在同一键下,以保持事件的顺序。

就我而言,我正在使用 avro 并希望io.confluent.kafka.serializers.subject.RecordNameStrategy用于序列化来自主题的事件。而且我想使用Kafka Streams api来避免低级api。因此,KStream 是一个设计为大量使用泛型和类型参数的 java 类,我不确定用它来表达这种 polymorph 主题性质的正确方法,因为我正在使用 Avro 记录和自动生成的类,我无法构建对象的继承树或使用组合将此类播放负载封装在某个包装类中。

如果我将在 KStream 定义中使用 Object 类并允许 schemaregistry 转换数据,然后按类型应用过滤,那么我看起来不正确......

我还考虑过为同一主题定义不同的消费者,这些消费者应该只读取正确类型的事件,但也没有胶水如何过滤此类事件,然后再到达我的 KStream ......

这是我的问题。使用 KStream 存档的正确方法是什么?

我将不胜感激任何帮助或想法

谢谢!

标签: apache-kafkaapache-kafka-streams

解决方案


推荐阅读