thrift就是个rpc框架,最大的优势是支持跨语言
服务端:
定义一个idl文件,使用thrift命令生成java语言,服务端使用继承生成的Iface接口实现具体的逻辑,然后将服务声明成thrift服务,指定ip、端口,具体如下:
客户端:
直接使用生成的java语言接口,指定ip+port后,发起rpc调用。
也可以使用zk作为注册中心,客户端调用时通过zk拉取ip端口调用。
如果想用py调用java,服务端还将idl生成java使用,客户端使用idl生成的py调用即可。
我们在实际项目中可以专门创建个单独的项目来写idl文件,生成对应的语言后,打成jar包,推送到maven仓库,然后客户端和服务端分别引用pom文件。
参考:
https://www.bilibili.com/video/BV1hG411L7wr?p=8&vd_source=12d5954938d20d50645e227a6a728c76