thrift、proto buf与Avro区别

thrift:是由Facebook主导开发的,一个跨平台,支持多语言的,通过定义IDL文件,自动生成RPC客户端与服务端通信代码的工具,以构建在 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 这些编程语言间无缝结合的、高效的服务

 

 protocol buffer是一种序列化与结构化数据的一种机制,具有跨平台、解析速度快、序列化数据体积小、扩展性高、使用简单的特点

Apache Avro是一个二进制的数据序列化系统。实际上Avro除了序列化之外,像MP一样也提供了远程调用(RPC)功能。Avro是属于Hadoop的一个子项目,由Hadoop创始人Doug Cutting牵头开发,设计用于支持大批量数据交换的应用,依赖模式(Schema)来实现数据结构定义,模式由JSON对象来表示,Avro也被作为一种RPC框架来使用。客户端希望同服务器端交互时,就需要交换双方通信的协议,它类似于模式,需要双方来定义,在Avro中被称为消息(Message)。通信双方都必须保持这种协议,以便于解析从对方发送过来的数据,这也就是传说中的握手阶段。

 参考:

http://langyu.iteye.com/blog/708568

你可能感兴趣的:(thrift、proto buf与Avro区别)