python调用其他语言_thrift的使用:(Java、Python之间跨语言调用)

由于公司现在的开发业务模块中,有使用到Java作为客户端调用python服务器端业务处理,因此在底下研究了下,结合了网上的优质文章,在此做一下记录。

thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引擎,以构建在C++,Java,Go,Python,PHP,Ruby,Erlang,Perl,C#,Cocoa,JavaScript,Node.js,Smalltalk,and OCaml这些变成语言间无缝结合的。高效的服务。

thrift最初由facebook开发用作系统内个语言之间的RPC通信,2007年由facebook贡献到Apache基金,08年5月进入Apache卵化器。支持多种语言之间的RPC方式的通信:Java语言client可以构造一个对象,调用相应服务方法来调用python语言的服务,跨越语言的C/S RPC调用。

thrift允许定义一个简单的定义文件中的数据类型和服务接口,以作为输入文件,编译器生成代码用来方便地生成RPC客户端和服务端通信的无缝跨编程语言。

环境准备

本文使用的环境演示

thrift安装

在D盘(任意盘符)新建一个Thrift文件夹,将下载的thrift-0.9.3重新命名为thrift.exe后放到该文件夹下。

配置环境变量,如图

接下来测试thrift的环境变量是否安装正确,Ctrl+R输入cmd打开DOS窗口,在窗口输入“thrift -version”

Python环境安装

双击下载的Python-3.8.3安装包,勾选"添加到环境变量",一步步默认安装即可。

打开命令窗口,输入python --version,可查看当前安装的版本,如图

thrift支持的数据类型

基本数据类型

bool:布尔值(true或者false)

byte:8位的有符号字节(java的byte类型)

i16:16位的有符号整数(java的short类型)

i32:32位的有符号整数(java的int类型)

i64:64位的有符号长整型(java的long类型)

double:一个64位的浮点数(java的double类型)

string: 一个utf8编码的字符串文本(java的String)

Structs

Thrift的structs用来定义一个通用对象,但是没有继承关系。

集合类型

list:一个有序的元素列表。元素可以重复。

set:一个无序的元素集合,集合中元素不能重复。

map:一个键值对的数据结构,相当于Java中的HashMap。

异常类型Exceptions

<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值