本文主要讲解thrift知识的理解框架,帮助初学者进一步理解thrift。
thrift是RPC(远程过程调用协议)框架的一种。
举个例子,比如在一个test.thrift文件中定义了Person的结构(类)和PersonService的接口,接口里面有getById的方法,如下:
struct Person {
1:i64 id
2:string name
}
service PersonService {
Person getById (1:i64 id)
}
通过命令thrift --gen java test.thrift可以将上述文件编译成java类以及接口,这儿命令中的java可以替代成你需要的任何编程语言,例如C++则改成cpp;这儿也说明了thrift的跨平台性。
然而接下来则是将编译出来的代码拷到服务端的工程中,并在服务器中将接口实现,即实现getById接口,并配置好,例如将applicationContext-thrift.xml配置文件写好,将这个项目运行起来。
接下来就是在我们一般的客户端中,只需要调用这个接口,以及配置好配置文件,即可使用这个接口的功能。
这种做法在许多公司常见,这种做法可以使用以前构建起来的一些接口或者分公司使用远程接口等。基本框架图如下:
一般情况,我们主要作为客户端,配置好,导入包然后调用接口