场景
Thrift介绍以及Java中使用Thrift实现RPC示例:
在上面讲了在Java中使用Thrift实现远程过程调用。实现了在客户端调用服务端的方法。
但是这都是在Java项目中。
Thrift的强大之处并不止于此,如果想实现在两个不同的语言的服务端可客户端中实现RPC,
比如在Java客户端中调用Python服务端的方法或者在Python客户端中调用Java服务端的方法。
注:
实现
前面在使用Thrift生成Java代码时的thrift文件为
namespacejava thrift.generated
typedef i16shorttypedef i32inttypedef i64longtypedefboolboolean
typedefstringStringstructPerson {1:optional String username,2:optional intage,3:optional boolean married
}
exception DataException {1:optional String message,2:optional String callback,3:optional String date
}
service PersonService {
Person getPersonByUsername(1:required String username) throws (1:DataException dataException),void savePerson(1:required Person person) throws(1:DataException dataException)
}
为了能生成代码,添加一个py的namespace
<