Protocol buffers grpc可读/ascii(开发者害怕二进制)

Protocol buffers grpc可读/ascii(开发者害怕二进制),protocol-buffers,grpc,Protocol Buffers,Grpc,到目前为止,我只阅读了关于grpc和 我和一些队友谈过。他们以前从未听说过。他们害怕二进制数据传输 他们担心调试很困难 我能理解他们的感受 有没有一种方法可以通过可读的方式访问grpc/协议缓冲区(用于调试?要回答您的直接问题,是的,您可以使用protobuf的文本格式表示形式TextFormat。它不提供与普通protobuf相同的向后兼容性保证,但它是人类可读的,并且看起来类似于JSON 也就是说,通常不需要能够在线路上读取二进制形式的protobufs。Protos的二进制形式可以很容易地

到目前为止,我只阅读了关于grpc和

我和一些队友谈过。他们以前从未听说过。他们害怕二进制数据传输

他们担心调试很困难

我能理解他们的感受


有没有一种方法可以通过可读的方式访问grpc/协议缓冲区(用于调试?

要回答您的直接问题,是的,您可以使用protobuf的文本格式表示形式
TextFormat
。它不提供与普通protobuf相同的向后兼容性保证,但它是人类可读的,并且看起来类似于JSON

也就是说,通常不需要能够在线路上读取二进制形式的protobufs。Protos的二进制形式可以很容易地在每个端点上解码和打印出来。例如,生成的代码包含获取二进制protobuf并打印文本表示的方法。和proto交互的工具都使用这些基于文本的二进制数据表示来检查和调试数据

需要考虑的另一件事是:gRPC使用SSL进行通信,因此您通常无法直接查看流量。你需要一个程序来解密它,这通常也是你解码protos的时候

最后:数据的其他文本表示形式,即JSON,通常在发送之前会被缩小,并且您无法直接读取它。您需要通过格式化程序运行它,这与解码二进制proto的工作量大致相同