如何调试 gRPC-Go 服务?

Mic*_*las 5 debugging go http2 grpc grpc-go

使用gRPC-Go无疑是构建弹性、高性能和可扩展分布式系统的好方法。我不太明白的是如何实际调试用它编写的服务。另外,HTTP/2 是唯一受支持的有线协议吗?

Rya*_*anD 2

不确定您是否已经找到解决方案......但根据您的应用程序中拥有的服务数量,您可以使用分布式跟踪系统来记录服务之间的调用。其中一些系统包括:

如果您使用 opentracing 项目 ( http://opentracing.io/ ),您可以从将信息传输到跟踪系统的代码中抽象出客户端和服务器中的跟踪代码。例如,您可以使用 OpenTracing 中的 Trace 语句来检测客户端和服务器,然后您可以将跟踪实现切换为 Zipkin 或 Jaeger Tracer,以正确的格式推送跟踪。

有可供 gRPC 重新使用的 opentracing 绑定。https://github.com/grpc-ecosystem/grpc-opentracing