我计划使用kafka作为事件源的持久日志,目前正在研究不同的序列化选项。我目前的重点是使用thrift对我将存储在kafka中的消息进行序列化和反序列化。
当使用thrift对kafka的消息进行序列化时,最简单的方法似乎是每个kafka主题有一个thrift结构。
问:在实践中,这是一个好的模式吗?如果没有,你能列举一下这种方法的缺点吗?
注意:如果您认为这个问题不符合stackoverflow标准,请帮助我改进!
我计划使用kafka作为事件源的持久日志,目前正在研究不同的序列化选项。我目前的重点是使用thrift对我将存储在kafka中的消息进行序列化和反序列化。
当使用thrift对kafka的消息进行序列化时,最简单的方法似乎是每个kafka主题有一个thrift结构。
问:在实践中,这是一个好的模式吗?如果没有,你能列举一下这种方法的缺点吗?
注意:如果您认为这个问题不符合stackoverflow标准,请帮助我改进!
1条答案
按热度按时间erhoui1w1#
thrift结构不附带任何结构类型的指示符(至少,在默认二进制协议中没有)。因此,要反序列化节俭数据树,需要知道根目录下的结构类型。因此,每个主题一个结构类型的想法是明智的。
不过,在这种情况下,有一件事可能有用,那就是建立一个节俭联盟。。。您可以定义一个联合,其中包含您希望能够在主题上发布的所有不同类型的字段,使用者只需序列化联合类型并确定设置了哪个字段。这种方法的开销很小,因为节俭工会是针对这种用例优化的。