当前位置: 代码迷 >> Web前端 >> thrift完整例证
  详细解决方案

thrift完整例证

热度:160   发布时间:2012-09-10 11:02:33.0
thrift完整例子
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包,直接下载运行即可