下载
LZ下载的是windows版本,只有一个exe文件,LZ重命名为thritf.exe,可以将exe文件所在的路径加入到环境变量中,这样在命令行中直接就可可以运行thrift这个命令,LZ没有配置,所以每次跑到exe所在的文件运行这个命令,最后直接写了个脚本,省得每次用命令行,只要点这个脚本就能运行
@echo off
D:\thrift\thrift -v --gen java --out ../java Hello.thrift
@pause
-v 是显示执行的过程(可忽略)
–gen 是指定语言
–out指定生成到哪个文件夹
Hello.thrift为文件名
结构
层级 | 作用 |
---|---|
Transport (运输) | 网络读取/写入网络 |
Protocol(协议) | 一个协议规定了数据类型如何使用底层传输来对自身进行编码/解码,如JSON,XML,纯文本,二进制 |
Processor (处理器) | 处理器封装了从输入流中读取数据并写入输出流的能力 |
Server (服务器) | 服务器将上述所有功能汇集在一起 |
interface TProcessor {
bool process(TProtocol in, TProtocol out) throws TException
}
传输协议 | 描述 |
---|---|
TBinaryProtocol | 二进制编码格式进行数据传输 |
TCompactProtocol | 高效率的、密集的二进制编码格式进行数据传输 |
TJSONProtocol | 使用 JSON 的数据编码协议进行数据传输 |
TSimpleJSONProtocol | 只提供 JSON 只写的协议,适用于通过脚本语言解析 |
服务端类型 | 描述 |
---|---|
TSimpleServer | 单线程服务器端使用标准的阻塞式 I/O |
TThreadPoolServer | 多线程服务器端使用标准的阻塞式 I/O |
TNonblockingServer | 多线程服务器端使用非阻塞式 I/O |
例子
参考博客
[1]https://www.cnblogs.com/fingerboy/p/6424248.html
[2]https://www.ibm.com/developerworks/cn/java/j-lo-apachethrift/
[3]https://www.cnblogs.com/johnc/archive/2011/06/19/2084508.html
[4]http://www.micmiu.com/soa/rpc/thrift-sample/
Spring Boot集成thrift
[5]https://cloud.tencent.com/developer/article/1050391