在一个个人项目(cassandra、spark、hadoop、kafka)中,我需要一个数据序列化框架。查看了三种常见的框架 - 即Thrift、Avro和Protocolbuffers - 我注意到它们大多数似乎是死气沉沉的,每年最多只有两个小版本发布。
这让我有两个假设:
- 它们已经像这样的框架一样完整,只要没有需要的新功能,就会进入维护模式
- 此类框架没有存在的理由-不明显为什么。如果是这样,还有哪些可供选择的替代品?
如果有人能给我指点一下我的假设,任何意见都欢迎。
在一个个人项目(cassandra、spark、hadoop、kafka)中,我需要一个数据序列化框架。查看了三种常见的框架 - 即Thrift、Avro和Protocolbuffers - 我注意到它们大多数似乎是死气沉沉的,每年最多只有两个小版本发布。
这让我有两个假设:
如果有人能给我指点一下我的假设,任何意见都欢迎。
一些像连接多路复用和更加用户友好的客户端等缺失的功能已经通过 Twitter 的 Finagle 等项目进行了添加。
尽管我会将我们使用它的程度描述为“半重度”(即,我们不是首先考虑性能:它应该易于使用且无错误),但我们到目前为止没有遇到任何问题。
因此,关于 thrift,我会说它属于您提到的第一类。
Protocol Buffers 是 thrift 序列化部分的另一种选择,但它并没有提供 thrift 提供的 RPC 工具箱。
我不知道还有哪个项目将 RPC 和序列化融合成如此简单易用和完备的单一包中。
[*] 无论如何,一旦您开始使用它并看到所有的好处,将其归为第二类就很难了 :)