我们计划在kafka中使用一个主题,在这里我们将发布与域相关的事件。idl定义如下:
protocol KafkaTopic {
record EventA {
int anIntHappened;
}
record EventB {
string aStringHappened;
}
}
所以我们有一个单一的通道和多种类型的通道。所有的编码都是使用 SpecificRecordBase
派生类。
我认为现在我们有几个选择:
对每个消息及其关联的模式进行编码。缺点是我们为每条消息引入了一个开销。
创建联合类型 KafkaTopicMessage
在idl定义中,发送不带模式的消息。然后我不知道使用旧模式的编译客户机会发生什么。希望没有什么错,但这种额外的 Package 在一个联盟似乎不自然,我,但也许它是正确的,在这种情况下。
让客户机选择他们感兴趣的几个模式,并在用户端创建联合模式。生产者将发送没有任何联合的纯模式。我都不知道这样行不行。
所以问题是,当结合使用avro编码和kafka主题信息时,有什么共同的模式?
暂无答案!
目前还没有任何答案,快来回答吧!