🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
我所在的公司使用Thrift作为基础通信组件,相当一部分的RPC服务基于Thrift框架。公司的日UV在千万级别,Thrift很好地支持了高并发访问,并且Thrift相对简单地编程模型也提高了服务地开发效率。 Thrift源于Facebook,目前已经作为开源项目提交给了Apahce。Thrift解决了Facebook各系统的大数据量传输通信和内部不同语言环境的跨平台调用。 Thrift的官方网站: [http://thrift.apache.org/](http://thrift.apache.org/) 作为一个高性能的RPC框架,Thrift的主要特点有 1. 基于二进制的高性能的编解码框架 2. 基于NIO的底层通信 3. 相对简单的服务调用模型 4. 使用IDL支持跨平台调用 这张图来自[《深入浅出RPC - 深入篇》](http://blog.csdn.net/mindfloating/article/details/39474123) 描述了一个RPC框架的基本组件,包括服务器端发布和调用服务组件,NIO组件,协议和编解码组件,客户端调用组件,客户端代理组件等等 ![](image/d41d8cd98f00b204e9800998ecf8427e.svg) 对照这个模型,Thrift的核心组件有: TProtocol 协议和编解码组件 TTransport 传输组件 TProcessor 服务调用组件 TServer,Client 服务器和客户端组件 IDL 服务描述组件,负责生产跨平台客户端 这个系列会结合源码,深入分析Thrfit的RPC调用模型和核心组件