0

我已经选择在项目中使用 thrift 作为 RPC 框架。这个项目有很多序列化/反序列化操作(例如,将数据存储到磁盘)。至少 C++/Java/Python 应该可以访问序列化格式。看来thrift的序列化方案比Protobuf要复杂一些(例如,它需要在序列化一个对象之前创建一个协议)。

所以我的问题是:即使 thrift能够完成这项任务,是否值得将 Protobuf 用于序列化/反序列化部分?

4

1 回答 1

1

我同意 Thrift 是跨语言 RPC 比 Protobuf RPC 更好的选择(参见http://pjklauser.wordpress.com/2013/02/27/why-googles-protobuf-rpc-will-not-reach-widespread-收养/ )。如果您已经在使用 thrift,那么很难证明使用不同的“库”来序列化文件/存储是合理的。您需要编写无穷无尽的映射代码。这两个库将具有不同的维护周期,您需要独立维护这些周期,这将在未来付出额外的努力。与您的额外工作相比,多写一两行代码、节省一两个字节的空间或节省一微秒的 CPU 时间的成本将微不足道。

于 2013-05-30T18:47:37.403 回答