Thrift源码解析(一)主要类概述

thrift简介

Thrift是一个跨语言的RPC框架,最初由Facebook于2007年开发,2008年进入Apache开源项目。Thrift通过一个中间语言(IDL, 接口定义语言)来定义RPC的接口和数据类型,然后通过一个编译器生成不同语言的代码(目前支持C++,Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk和OCaml),并由生成的代码负责RPC协议层和传输层的实现。具体的使用方法和示例请看我的另一篇文章Thrift入门教程,本文不在赘述。

thrift类概述

本系列文章主要解析thrift的源码(基于Java语言的1.0.0版本),下图是thrift主要类的继承图:
Thrift源码解析(一)主要类概述

大概分为以下几个group:

  • TTransport:客户端传输层协议相关的类;
  • TServerTransport:服务端传输层相关的类;
  • TProtocol:序列化、发序列化相关的类;
  • TServer:服务器的IO事件流模型相关的类;
  • TProcessor:函数,接口调用相关的类;

后面文章详细介绍各个类的作用。