为Kafka主题编写avroidl的正确方法是什么?听多个事件?

xt0899hw  于 2021-06-07  发布在  Kafka
关注(0)|答案(0)|浏览(235)

我们计划在kafka中使用一个主题,在这里我们将发布与域相关的事件。idl定义如下:

protocol KafkaTopic {

   record EventA {
      int anIntHappened;
   }

   record EventB {
      string aStringHappened;
   }
}

所以我们有一个单一的通道和多种类型的通道。所有的编码都是使用 SpecificRecordBase 派生类。
我认为现在我们有几个选择:
对每个消息及其关联的模式进行编码。缺点是我们为每条消息引入了一个开销。
创建联合类型 KafkaTopicMessage 在idl定义中,发送不带模式的消息。然后我不知道使用旧模式的编译客户机会发生什么。希望没有什么错,但这种额外的 Package 在一个联盟似乎不自然,我,但也许它是正确的,在这种情况下。
让客户机选择他们感兴趣的几个模式,并在用户端创建联合模式。生产者将发送没有任何联合的纯模式。我都不知道这样行不行。
所以问题是,当结合使用avro编码和kafka主题信息时,有什么共同的模式?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题