Thrift

简介: Thrift是一个用于跨语言服务开发的工具,可以轻松实现不同语言间的通信和数据交换 【2月更文挑战第27天】

Thrift是一个用于跨语言服务开发的工具,可以轻松实现不同语言间的通信和数据交换

使用Thrift IDL(Interface Definition Language)定义接口,包括数据类型和服务方法。这个定义文件以.thrift为后缀。
image.png

使用Thrift提供的代码生成器,根据定义的IDL文件生成各种语言的代码文件。可以生成Java、Python、C++等不同语言的客户端和服务器端代码。

Thrift的详细使用指南

Thrift是为客户端和服务器之间的非原子地版本更新而设计的RPC框架。这允许在不停服的情况下逐台滚动升级分布式系统的不同组件或节点。

工程结构

  1. thrift/compiler/:包含C++实现的Thrift编译器。
  2. lib/:包含Thrift软件库的不同语言实现。
  3. cpp/go/java/php/py/rb/:包含Thrift示例文件和跨语言的测试代码。
  4. tutorial/:包含Thrift的使用教程。

安装步骤

  1. 下载源码并解压缩。
  2. 首次构建Thrift需要生成configure脚本,执行./bootstrap.sh
  3. 配置Thrift,执行./configure。可以根据需要显式指定boost文件的位置。
  4. 如果需要自定义构建配置,使用相应选项如CXXFLAGSCFLAGSCPPFLAGS
  5. 若要启用gcov,执行./configure --enable-coverage
  6. 运行./configure --help查看其他配置项。
  7. 编译Thrift,执行make
  8. 安装Thrift,执行make install。有些语言的库文件可能需要手动安装。

测试

运行客户端库的测试,执行make -k check。这会运行每种客户端类库所定义的单元测试,并根据需要构建所有库文件。单个语言构建失败时,构建过程会继续运行并输出诊断信息。

🌐 资源

  1. Juejin - RPC框架之——thrift的深入理解(一)
  2. CSDN - Thrift RPC详解
目录
相关文章
|
网络协议 Java 编译器
Thrift在C++中的使用
Thrift在C++中的使用
Thrift在C++中的使用
|
Java Go Apache
gRPC vs Thrift
远程过程调用(Remote Procedure Call,RPC)服务于分布式架构,本文从分布式构架面临的问题,期望的结果,引出两种比较受关注的RPC框架,并从框架的出身、实现原理、特性、性能等方面做了对比分析,从而给出两者之间的选择建议。
11402 0
|
XML JSON 编解码
Thrift 介绍
Thrift 介绍
182 0
|
JSON Java 编译器
Thrift的日常—协议
Thrift的日常—协议
Thrift的日常—协议
|
JSON 网络协议 Java
thrift 原理浅析
thrift 原理浅析
362 0
thrift 原理浅析
|
JavaScript 前端开发 Java
初探 thrift
初探 thrift
239 0
|
Python 容器
Thrift的接口定义语言IDL
Thrift的接口定义语言IDL
336 0