Thrift是一个开发跨语言服务的软件框架。编写thrift文件,通过自带的代码生成引擎即可生成各种语言(C++,Java,Python,PHP,Ruby,Erlang,C#等)的对应代码,下面以最经典的hello为例讲述,如何通过thrift编写跨语言的RPC程序:
1编写thrift文件,保存为hello.thrift:
2生成cpp和py框架文件
在hello.thrift文件所在目录执行:
thrift -r --gen cpp hello.thrift
thrift -r --gen py hello.thrift
会在当前目录下面产生两个文件夹,分别为gen-cpp和gen-py,
3编写cpp服务器端代码,拷贝gen-cpp目录中的Hello_server.skeleton.cpp到当前目录,重命名为CppServer.cpp,修改如下:
4编写python客户端代码,PythonClient.py如下:
5编写cpp端Makefile如下:
6编译cpp端,直接make即可生成相应的可执行文件,python端可以直接运行。
至此一个最简单的跨语言PRC程序即完成了,很简单吧。