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

 zeng-abee 发布于 2022-10-26 16:43

我有一套系统,内部模块间rpc互相调用,都是python语言开发的,用rabbitmq来实现。但是消息的序列化用的python
平台才有pickle包。现在想接入java语言开发的模块,但是java平台的序列化肯定不是pickle,这怎么解决。

4 个回答
  • protobuf,thrift都可以。

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

    2022-10-27 01:03 回答
    1. JSON 简单粗暴

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

    3. Thrift 全家桶, 爽爽爽

    4. protobuf + gRpc

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

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

    2022-10-27 01:03 回答
  • 用Google的protobuf

    2022-10-27 01:03 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有