【发布时间】:2011-12-06 12:07:21
【问题描述】:
我看到很多提到 Thrift 和 Protocol Buffers,但我并不真正了解它们的用途。根据我有限的理解,它们基本上用于您想要进行跨语言序列化时,即当您想要将某种语言的一些数据结构发送到用另一种语言编写的另一个程序时。
这是正确的吗?它们还有其他用途吗?
(根据我有限的理解,我认为 Thrift 和 Protocol Buffers 基本上是同一事物的两个不同版本——请随时纠正我或详细说明。)
【问题讨论】:
-
它们是一种“类型化”消息格式,用于有效地对一组原始数据类型进行二进制编码(不需要显式的自定义编码器,因为它们使用消息生成器)。可用作交换或存储(序列化)机制。由于格式定义明确,它可以跨语言共享(假设存在实现),由使用相同语言的远程进程共享,或用于单个进程内的序列化(或其他)。是的,他们正在有效地争夺同一个市场(以及 Avro 和其他市场)。