公司一直用thrift作为服务化端的编写,实现java与php的对接,一直以来都用觉得还是可以,这里分享给大家希望大家喜欢这个工具。
Thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 等等编程语言间无缝结合的、高效的服务。
我们使用thrift需要的思路为如下图

我们建立thrift定义服务化接口,作为服务端与客户端都需要引入jar或者文件,通过thrift特点的服务与客户端即可以完成接口调用。
搭建项目第一步在pom文件,如果还没使用maven的同学估计可以挂了,现在基本已经没得用原生jar文件的了。
其中只有lib thrift的包为官方,下面的日志包为搭配。
整个项目文件:
1、defin目录:自己定义专门存放我们的thrift文件
2、src文件:专门存放java文件
3、php文件:专门存放php文件(未建立)
我们首先看看thrift文件:HelloWorldService.thrift
注释:编写thrift文件之简单,我们可以看到。例子里面我写了一个借口为sayHello的接口。
为防止不会写thrift的小伙伴我把thrift的基本类型写一下:很少的哦,如果会使用其他编程语言一眼就该知道是什么意思
生成java文件与php文件都一眼,我们例子里面只展示使用java文件。
首先我们需要下载好thrift文件的执行程序:
windows:下载exe
mac:brewhome里面下载thrift
linux:下载thrift(不懂得进入群咨询我,谢谢!)
window环境具体步骤
mac环境具体步骤
执行thrift命令之后,我们的项目如下。然后执行mvn clean install 将项目打包即可生成jar包,以供其他项目使用。
java项目需要引入如上jar包,php项目需要引入上面生成文件。
项目整体
这一篇我们讲诉了使用thrift的基本用法,其实很简单,原理更简单。thrift就是使用thrift作为媒介,各个调用的接口都可以读取socket的数据,或者监控客户端以供数据。
但是很多人会发现,就这个客户端与服务端起鸡毛作用啊,根本就是socket的嘛。在项目实际运用中怎么玩耍呢,接下来我将会讲解怎么正在封装使用thrift,作为接口使用。一般互联网公司都这么玩耍。下一章节,讲诉。
两个项目的代码在git上面可以下载:: https://github.com/yangchangyong0