Interface Python Thrift 客户端与 Go gRPC 服务器

Interface Python Thrift client with Go gRPC server

这可以开始吗?它在 gRPC FAQ:

中说

Can I use gRPC with my favorite data format (JSON, Protobuf, Thrift, XML) ?

Yes. gRPC is designed to be extensible to support multiple content types. The initial release contains support for Protobuf and with external support for other content types such as FlatBuffers and Thrift, at varying levels of maturity.

但是我还没有找到任何相关文档?具体来说,我想从一个 Python 客户端 (Thrift) 与我用 Go 编写的 gRPC 服务器交谈。

不,您不能让 Python Thrift 客户端与 Go gRPC 服务器通信。

混合了两个相似但相关的东西:RPC 协议和消息 schema/IDL/format。

Thrift 和 gRPC 之间的 RPC 协议不同。它们不可互操作。这就是您的要求,所以这就是答案是否定的原因。

gRPC FAQ 说可以使用 protobuf 以外的东西作为消息 schema/IDL/format。因此,这将允许 Python gRPC 客户端与 Go gRPC 服务器通信,但使用 Thrift 消息。 grpc-ecosystem/grift 包含一些未维护的代码,允许从 Thrift IDL 文件生成 gRPC 存根,但它不支持 Python。