apache-kafka – kafka消息的Thrift序列化 – 每个结构的单个主题

我打算使用kafka作为
persistent log for event sourcing,我正在研究不同的序列化选项.我现在的重点是使用thrift来对我将在kafka中存储的消息进行序列化和反序列化.

当使用thrift为kafka序列化消息时,最简单的方法似乎是每个kafka主题都有一个thrift结构.

问题:这是一种在实践中遵循的好模式吗?如果没有,请列出遵循这种方法的缺点?

注意:如果您认为此问题不符合stackoverflow标准,请帮助我改进它!

最佳答案 Thrift结构不带任何结构类型的指示符(至少不在默认的二进制协议中).因此,要反序列化Thrift数据树,您需要知道根的结构类型.因此,您对每个主题的一种结构类型的想法是明智的.

在这种情况下可能有用的一件事是Thrift联盟……你可以定义一个单独的联合,其中包含您希望能够在该主题上发布的所有不同类型的字段,并且消费者可以只序列化联合类型并确定设置哪个字段.这种方法的开销很小,因为Thrift联合会针对这个用例进行了优化.

点赞