Skip to content

zhoxing-ms/thrift-framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Apache Thrift 是 Facebook 实现的一种高效的、支持多种编程语言的远程服务调用的框架。本项目将从 Java 开发人员角度详细介绍 Apache Thrift 的架构、开发和部署,并且针对不同的传输协议和服务类型给出相应的 Java 实例

常见的服务端类型有以下几种,代码如下:
*使用 TSimpleServer —— 单线程服务器端使用标准的阻塞式 I/O

// 设置调用的服务地址为本地,端口为 7911 
 TTransport transport = new TSocket("localhost", 7911); 
 transport.open(); 
 // 设置传输协议为 TBinaryProtocol 
 TProtocol protocol = new TBinaryProtocol(transport); 
 Hello.Client client = new Hello.Client(protocol); 
 // 调用服务的 helloVoid 方法
 client.helloVoid(); 
 transport.close(); 

*TThreadPoolServer —— 多线程服务器端使用标准的阻塞式 I/O

 // 设置调用的服务地址为本地,端口为 7911 
 TTransport transport = new TSocket("localhost", 7911); 
 transport.open(); 
 // 设置传输协议为 TBinaryProtocol 
 TProtocol protocol = new TBinaryProtocol(transport); 
 Hello.Client client = new Hello.Client(protocol); 
 // 调用服务的 helloVoid 方法
 client.helloVoid(); 
 transport.close(); 

*TNonblockingServer —— 多线程服务器端使用非阻塞式 I/O

// 设置调用的服务地址为本地,端口为 7911 
TTransport transport = new TFramedTransport(new TSocket("localhost", 10005));
transport.open(); 
// 设置传输协议为 TBinaryProtocol 
TProtocol protocol = new TBinaryProtocol(transport); 
Hello.Client client = new Hello.Client(protocol); 
// 调用服务的 helloVoid 方法
client.helloVoid(); 
transport.close(); 

About

The RPC fromework of Thrift

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published