Thrift简介与实践

3-11 2,176 views

Thrift(http://thrift.apache.org/)是一个支持多种语言的远程服务调用框架,最初由Facebook开发,目前由Apache基金会负责维护。

安装

tar -zxvf thrift-0.9.1.tar.gz
cd thrift-0.9.1/
./configure
make
make install

安装成功后,可以使用“thrift”命令。

定义远程服务接口

Thrift提供了接口描述语言,用于定义远程服务接口,例如,“TestService.thrift”中定义了“greet”方法:

使用“thrift”命令根据“TestService.thrift”生成相应的Java代码文件:

thrift -r -gen java TestService.thrift

执行成功后,会在gen-java/com/magicwt/service目录下生成TestService.java。

远程服务调用测试

创建Maven工程,增加对Thrift的依赖:

导入TestService.java,创建TestServiceImpl类实现TestService中的Iface接口,实现其中的greet方法:

创建TestServer和TestClient类分别作为测试服务端和测试客户端。
TestServer:

TestClient:

先后启动TestServer和TestClient,TestClient的控制台输出如下:
1
说明远程服务调用成功。

标签:

基于WebSocket实现微信小程序的消息推送

微信小程序支持通过基于WebSocket进行消息推送,提供了相应的API,例如创建连接示例代码: JavaScript wx.connectSocket({ ...

阅读全文

基于nginx-sticky-module-ng实现会话保持(Sticky Sessions)

对服务进行集群部署,前端进行负载均衡时,需要实现会话保持,对于同一会话的多个请求,通过集群中的一个节点来提供服务。系统的部署结构如图所示,通过Resin...

阅读全文

ActiveMQ基于Zookeeper和LevelDB实现Master/Slave

ActiveMQ的Master/Slave目前支持三种实现方式: 1)Shared File System Master Slave; 2)JDBC Master Slave; 3)Replicated LevelDB Store。 对于第三种方...

阅读全文