thrift完整例子

来源:http://binghejinjun.iteye.com/blog/1175239

Thrift是facebook向apache推出的为了解决大数据量交换问题的开源项目。开发人员需要定义类似于c的结构体的数据结构和服务接口,利用thrift工具自动产生构建RPC客户端和服务器所需的所有代码。它可以跨语言,可靠通信。 

   thrift设计一:将传输层从代码层中分离出来 
thrift设计二:将数据结构从传输层中分离出来 
本质上,它是以普通二进制格式写数据 

实际操作过程: 
1.如果要给服务命名,可以考虑使用此种格式:namespace java com.epri.distriAuto.thrift 
2.Thrift 中的基本数据类型 
    类型 描述 
    bool true, false 
    byte 8位的有符号整数 
    i16 16位的有符号整数 
    i32 32位的有符号整数 
    i64 64位的有符号整数 
    double 64位的浮点数 
    string UTF-8编码的字符串 
    binary 字符数组 
    struct 结构体 
    list 有序的元素列表,类似于STL的vector 
    set 无序的不重复元素集,类似于STL的set 
    map key-value型的映射,类似于STL的map 
    exception 是一个继承于本地语言的exception基类 
    service 服务。包含多个函数接口(纯虚函数) 

3.下载thrift编译工具,此工具可以根据定义好的文件生成服务的客户端和服务端代码 
   编译格式如下: 
     thrift -gen java test.thrift 
开发: 

1.编译成功后会生成一个gen-java包,把里面的类文件加入到工程中,注意导入thrift相关jar包: 
  slf4j-log4j12-1.5.11.jar,slf4j-api-1.5.11.jar,log4j-1.3alpha-8.ja,,libthrift.jar 
2.编写接口实现类,实现test.Iface接口 
3.编写服务端代码 
4.编写客户端代码 
5.测试,运行 
说明: 
1.thrift编译工具我已放入要下载的文件,名字就是thrift 
2.工程中涵盖运行所需全部jar包,直接下载运行即可 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章