Python Thrift 客户端与 Go gRPC 服务器的接口

一开始可以这样吗?gRPC 常见问题解答中写道:

我可以将 gRPC 与我最喜欢的数据格式(JSON、Protobuf、Thrift、XML)结合使用吗?

是的。gRPC 被设计为可扩展以支持多种内容类型。初始版本包含对 Protobuf 的支持以及对不同成熟度级别的其他内容类型(例如 FlatBuffers 和 Thrift)的外部支持。

但我没有找到任何有关此的文档?具体来说,我想从 Python 客户端 (Thrift) 与用 Go 编写的 gRPC 服务器进行对话。


潇湘沐
浏览 80回答 1
1回答

函数式编程

不,您不能让 Python Thrift 客户端与 Go gRPC 服务器进行通信。有两个相似但相关的东西被混合在一起:RPC 协议和消息模式/IDL/格式。Thrift 和 gRPC 之间的 RPC 协议是不同的。它们不可互操作。这就是您所要求的,所以这就是为什么答案是否定的。gRPC FAQ 说可以使用 protobuf 以外的东西作为消息模式/IDL/格式。因此,这将允许 Python gRPC 客户端与 Go gRPC 服务器通信,但使用 Thrift 消息。grpc-ecosystem/grift包含一些未维护的代码,允许从 Thrift IDL 文件生成 gRPC 存根,但它不支持 Python。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go