我有一套系统,内部模块间rpc互相调用,都是python语言开发的,用rabbitmq来实现。但是消息的序列化用的python平台才有pickle包。现在想接入java语言开发的模块,但是java平台的序列化肯定不是pickle,这怎么解决。
4 回答
肥皂起泡泡
TA贡献1829条经验 获得超6个赞
JSON 简单粗暴
msgPack格式, 支持广泛, 类似 JSON , 但是效率更高
Thrift 全家桶, 爽爽爽
protobuf + gRpc
以我个人偏好, 推荐Thrift, 该做好的都做好了, 让你专注在代码逻辑上
显然, 正常人是不会用pickle的, 这种格式只能在Python的世界才能玩得转( 而且还有版本兼容问题 ). 然而现在一个稍微大点的项目, 几种语言开发真的太常见了( 标配 ), pickle 哪有用武之地( 也就当个玩具耍耍 )
LEATH
TA贡献1936条经验 获得超6个赞
不同语言之间做数据交换,可以用以下几个技术
protobuf,thrift,avro,zeroc ice。
这些都可以将数据序列化成二进制。效率比json传输高多了
添加回答
举报
0/150
提交
取消