1
41
协议缓冲区是一个非常成熟的框架,大约15年前在Google首次引入。它肯定不会死:谷歌内部几乎所有的服务都使用它。但是,经过这么多的使用,现在可能没有什么需要改变的了。事实上,他们在今年发布了一个主要版本(3.0),但是这个版本是关于删除和添加功能。 Protobuf的关联RPC系统, gRPC ,是相对较新的,最近有更多的活动。(然而,它是基于谷歌的内部RPC系统,该系统已经发展了大约12年。) 我不太了解节俭或Avro,但他们也存在了一段时间。 |
2
28
与Protobuf相比,Thrift的优势在于它提供了一个完整的RPC和序列化框架。此外,Thrift支持大约20多种目标语言,而且这个数字还在增长。我们即将加入.NET核心,在不久的将来会有Rust支持。 事实上,过去几个月没有太多的节俭发行,这肯定是需要解决的问题,我们完全意识到这一点。另一方面,代码库的整体稳定性相当好,因此可以使用Github分叉,并从当前主代码中单独切割分支-当然,使用通常的质量度量。 Avro和Thrift的主要区别在于Thrift是静态类型的,而Avro使用更动态的方法。在大多数情况下,静态方法非常适合您的需求,在这种情况下,节约可以让您受益于生成代码的更好性能。如果不是这样,Avro可能更合适。 此外,值得一提的是,除了节俭、Protobuf和Avro,市场上还有更多的解决方案,如Capt'n'proto或BOLT。 |
3
2
关于节俭:据我所知,它是活生生的。我们将它用于序列化和内部API,这是我工作的地方,它可以很好地工作。 缺少的东西,如连接多路复用和更用户友好的客户端,已经通过Twitter等项目添加 Finagle . 尽管我会将我们对它的使用描述为 半密集型 只是(即,我们不首先考虑性能:它应该易于使用,并且在其他任何事情之前没有bug),我们到目前为止没有遇到任何问题。 所以,关于节俭,我认为它属于你的第一类 Protocolbuffers是thrift序列化部分的替代品,但它不提供thrift提供的RPC工具箱。 我不知道有任何其他项目将RPC和序列化混合到这样一个简单易用且完整的单一包中。 [*]无论如何,一旦你开始使用它并看到它的所有好处,就很难 将其放入第二类:) |
4
1
它们在很多地方都非常有用,所以我要说这是你的第一个假设。我不知道您对发布时间表的期望是什么,但对于如此规模和成熟度的库来说,它们似乎是正常的。见鬼,Avro 1.8.0是在2016年初推出的,大多数东西仍然使用Avro 1.7.7(例如Spark、Hadoop)。 https://avro.apache.org/releases.html |
user9750148 · 如何从Avro模式创建有效的JSON示例? 6 年前 |
revy · 配置单元AVRO表创建语法 6 年前 |
Atul Ojha · java上使用Avro发送和接收日期类型 6 年前 |
Pasq · 具有泛型类型问题的Avro序列化 6 年前 |
M80 · 通过为包含JSON的列定义模式来创建配置单元表的视图 7 年前 |