本网页所有文字内容由 imapbox邮箱云存储,邮箱网盘, iurlBox网页地址收藏管理器 下载并得到。
ImapBox 邮箱网盘 工具地址: https://www.imapbox.com/download/ImapBox.5.5.1_Build20141205_CHS_Bit32.exe
PC6下载站地址:PC6下载站分流下载
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox 网页视频 工具地址: https://www.imapbox.com/download/ImovieBox4.7.0_Build20141115_CHS.exe
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
一、概述 thrift :是由 Facebook 主导开发的一个跨平台、支持多语言的,通过定义 IDL 文件,自动生成 RPC 客户端与服务端通信代码的工具,以构建在 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 这些编程语言间无缝结合的、高效的服务。Thrift通过一个中间语言(IDL, 接口定义语言)来定义RPC的接口和数据类型,然后通过一个编译器生成不同语言的代码并由生成的代码负责RPC协议层和传输层的实现。 protocol buffer 是一种序列化与结构化数据的一种机制,具有跨平台、解析速度快、序列化数据体积小、扩展性高、使用简单的特点。 Apache Avro 是一个二进制的数据序列化系统。实际上 Avro 除了序列化之外,像 MP 一样也提供了远程调用( RPC )功能。 Avro 是属于 Hadoop 的一个子项目,由 Hadoop 的 创始人 Doug Cutting 牵头开发,设计用于支持大批量数据交换的应用,依赖模式 (Schema) 来实现数据结构定义,模式由 JSON 对象来表示, Avro 也被作为一种 RPC 框架来使用。客户端希望同服务器端交互时,就需要交换双方通信的协议,它类似于模式,需要双方来定义,在 Avro 中被称为消息 (Message) 。通信双方都必须保持这种协议,以便于解析从对方发送过来的数据,这也就是传说中的握手阶段。 二、对比 对比三种框架首推的应该是thrift,因为其不仅有对于协议封装和解析的处理,而且有完备的通讯框架的实现,完全封装了底层通讯,对于使用者,只要在框架的客户端和服务器接口回调中,处理逻辑就可以了。 综合对比
性能对比
protobuf
thrift
功能特性
主要是一种序列化机制
提供了全套RPC解决方案,包括序列化机制、传输层、并发处理框架等
支持语言
C++/Java/Python
C++, Java, Python, Ruby, Perl, PHP, C#, Erlang, Haskell
易用性
语法类似,使用方式等类似
生成代码的质量
可读性都还过得去,执行效率另测
升级时版本兼容性
均支持向后兼容和向前兼容
学习成本
功能单一(不适合复杂应用),容易学习
功能丰富、学习成本高
文档&社区
官方文档较为丰富,google搜索protocol buffer有2000W+结果,google group被墙不能访问
官方文档较少,没有API文档,google搜索apache thrift仅40W结果,邮件列表不怎么活跃
由于thrift功能较protobuf丰富,因此单从序列化机制上进行性能比较,按照序列化后字节数、序列化时间、反序列化时间三个指标进行,对thrift的二进制、压缩、protobuf三种格式进行对比发现:Protobuf序列化后的字节数较少,而且序列化和反序列化的时间也较短。
阅读和此文章类似的: 程序员专区