为了账号安全,请及时绑定邮箱和手机立即绑定

请教python与java之间rpc通信,rabbitmq相关。

请教python与java之间rpc通信,rabbitmq相关。

撒科打诨 2019-02-24 17:36:32
我有一套系统,内部模块间rpc互相调用,都是python语言开发的,用rabbitmq来实现。但是消息的序列化用的python平台才有pickle包。现在想接入java语言开发的模块,但是java平台的序列化肯定不是pickle,这怎么解决。
查看完整描述

4 回答

?
慕神8447489

TA贡献1780条经验 获得超1个赞

用Google的protobuf

查看完整回答
反对 回复 2019-03-01
?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

  1. JSON 简单粗暴

  2. msgPack格式, 支持广泛, 类似 JSON , 但是效率更高

  3. Thrift 全家桶, 爽爽爽

  4. protobuf + gRpc

以我个人偏好, 推荐Thrift, 该做好的都做好了, 让你专注在代码逻辑上

显然, 正常人是不会用pickle的, 这种格式只能在Python的世界才能玩得转( 而且还有版本兼容问题 ). 然而现在一个稍微大点的项目, 几种语言开发真的太常见了( 标配 ), pickle 哪有用武之地( 也就当个玩具耍耍 )

查看完整回答
反对 回复 2019-03-01
?
LEATH

TA贡献1936条经验 获得超6个赞

不同语言之间做数据交换,可以用以下几个技术
protobuf,thrift,avro,zeroc ice。
这些都可以将数据序列化成二进制。效率比json传输高多了

查看完整回答
反对 回复 2019-03-01
?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

protobuf,thrift都可以。

查看完整回答
反对 回复 2019-03-01
  • 4 回答
  • 0 关注
  • 835 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信