多平台统一管理软件接口,如何实现多平台统一管理软件接口
529
2022-10-12
Thrift架构与使用方法(thrift详解)
Thrift是由Facebook为“大规模跨语言服务开发”而开发的,现在是Apache软件基金会的开源项目。
Thrift实现了一种接口描述语言和二进制通讯协议,用来定义和创建跨语言的服务。它被当作一个RPC框架来使用。
Thrift支持的语言和特性
如果现在要实现一个除法divide的RPC接口服务:
float divide(1:int num1, 2:int num2=1) => InvalidOperation
如何使用Thrift来进行实现呢?
Thrift的基础库程序中已经提供了用于RPC通讯的底层基本消息协议和传输工具,也就是调用双方如何传输str、int、float等不同基本类型的数据无需我们自己再实现了。
但是对于不同的RPC接口是由不同个数不同类型的参数构成的,如上述divide服务就是有两个int类型的调用参数和float类型或InvalidOperation异常的返回值构成,也就是说发起调用时我们需要传递两个int类型的数据,调用完成返回值的时候,我们需要传递float类型或InvalidOperation异常,这些就需要我们利用Thrift提供的基础库自己写代码来实现。每个RPC接口服务都要定义出来,才能完成整个RPC调用。
若想调用双方使用不同的编程语言开发,即在不同的语言程序间完成RPC调用,那每个RPC接口服务都需要在调用方和被调用方使用不同的语言来定义。
生成得到不同接口的程序代码后,我们再编写客户端的调用代码和服务端的接口功能实现代码及启动代码,就可完成Thrift RPC的调用实现。
总结使用方法如下:
使用Thrift的IDL编写接口定义文件使用Thrift的编译器生成特定语言的接口程序源代码编写客户端和服务端程序
Thrift的架构
TProtocol提供了对基础类型数据进行不同方式编码的消息协议工具TTransport提供了对编码后的消息数据进行不同方式网路传输的传输工具
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~