RPC专题-Thrift与Protobuf比较2

本文深入探讨Thrift与Protobuf在RPC框架中的应用,对比两者在性能、使用方法和实现细节上的差异。主要内容包括Thrift的功能、工作原理、服务模型以及与Protobuf的性能对比。通过实例,作者展示了Thrift的下载配置、idl文件定义、生成Java代码以及实现RPC架构的Client端和Server端的过程。
摘要由CSDN通过智能技术生成

开篇介绍:

=======================================================================================================

在这篇文章中主要介绍的是Thrift的使用方法和步骤 。 

在前一篇文章中将会介绍的是Protobuf的使用方法和步骤。

连接地址是:Protobuf的使用方法和步骤

在第三篇文章中将会介绍的是 Protocol 和 Thrift 在实现同一个类和其中相同的数据类型的时候,性能的对比分析,

在这里LZ并没有对其中所支持的数据类型或是变量的表示方法进行对比,这些信息LZ会给出官方权威的相关连接,供大家查阅。


LZ对比Protocol Buffer和Thrift的性能主要分为以下的几点:


1. 压缩/解压同一个大型的数组变量所消耗的时间

2.压缩对象之后所占空间和压缩之前的压缩比

3.对于同一个数据对象(即占用同样大小空间的对象) 使用同样的定义方法,即对于相同的形式说明书,分别使用protobuf 和 thrift

 两种中间语言,对其进行描述生成的一套完整的代码,对其中的同一个数组这个数据对象进行传输,分别需要消耗的时间进行对比。

4.对比分析,在一种形式说明书中分别生成两种( protobuf , thrift ) 的中间代码,分别编写Server 端实现代码和 Client端实现代码,

 还有相应接口的定义代码和接口实现代码的不同,对比哪一个实现步骤更加的清晰。

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

本篇文章主要分为三部分:

第一部分: 介绍thrift 的主要功能和使用方法,包括下载配置工作环境和介绍一个简单实现thrift 的例子

第二部分:介绍thrift的中间文件.thrift 中的各个关键字的作用和定义一个与上一篇文章中相同格式的中间文件,并通过该文件生成对应的java代码

第三部分: 介绍如何根据上一步中生成java 代码来编写实现RPC架构的Client端, Server端以及实现接口等一些方法的调用。


----------------------------------------------------------------------let's begin ~ --------------------------------------------------------------------------------------------------------------------

第一部分:

Thrift是一个跨平台的服务部署框架,最初是由Facebook开发的。Thrift通过一个中间语言( IDL,接口定义语言)来定义RPC接口和数据类型,

然后通过一个编译器生成不同类型的代码(目前支持的语言有: C++,Java,Python,PHP, Ruby,Erlang...) ,并由生成的代码负责RPC协议层

和传输层的实现。

Thrift实质上是以C/S 模式来实现的,通过代码生成工具将接口

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值