『高级篇』docker之微服务thrift安装使用(十)
2018-10-14 本文已影响13人
IT人故事会
原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
原文链接地址:『高级篇』docker之微服务thrift安装使用(十)
从这节开始微服务的开发阶段,首选根据下面的图,选择一个模块开始微服务的开发,我的开发习惯的就是检一些对比人依赖少的进行开发,找到了『信息服务』对其他依赖最少的,就开始开发这个,之前也说过thrift主要说的都是理论,这次咱们直接实战,先通过安装使用开始。源码:https://github.com/limingios/msA-docker
![](https://img.haomeiwen.com/i11223715/f5b7175ca374352e.png)
Thrift 安装
![](https://img.haomeiwen.com/i11223715/1677f3afa613a098.png)
- 下载安装
![](https://img.haomeiwen.com/i11223715/e34a8d4bdb38f3d1.png)
- 下载地址
![](https://img.haomeiwen.com/i11223715/3c25137098697a8a.png)
- windows下的安装
![](https://img.haomeiwen.com/i11223715/75f4f85d781325c2.png)
![](https://img.haomeiwen.com/i11223715/52c3129fb9ca4d6a.png)
Thrift 使用
namespace 编译的语言 包名
其实thrift的语言跟java语法很类似
- 新建文件
![](https://img.haomeiwen.com/i11223715/686e4e1e820778d2.png)
- java的语法
namespace java com.idig8.thrift.demo
namespace py thrift.demo
service DemoService{
void sayIdig(1:string name);
}
![](https://img.haomeiwen.com/i11223715/453a165602f0a8f0.png)
thrift-0.11.0.exe --gen java demo.thrift
![](https://img.haomeiwen.com/i11223715/705544d846abbdff.png)
- py的语法
thrift-0.11.0.exe --gen py demo.thrift
![](https://img.haomeiwen.com/i11223715/2d26e0f033a7da19.png)
![](https://img.haomeiwen.com/i11223715/450f6fa6403bb905.png)
PS:我想开发一个快速计算的RPC服务,它主要通过接口函数getInt对外提供服务,这个RPC服务的getInt函数使用用户传入的参数,经过复杂的计算,计算出一个整形值返回给用户;服务器端使用java语言开发,而调用客户端可以是java、c、python等语言开发的程序,在这种应用场景下,我们只需要使用Thrift的IDL描述一下getInt函数(以.thrift为后缀的文件),然后使用Thrift的多语言编译功能,将这个IDL文件编译成C、java、python几种语言对应的“特定语言接口文件”(每种语言只需要一条简单的命令即可编译完成),这样拿到对应语言的“特定语言接口文件”之后,就可以开发客户端和服务器端的代码了,开发过程中只要接口不变,客户端和服务器端的开发可以独立的进行。