2016-11-25 91 views
3

使用gRPC-Go当然是构建弹性,高性能和可扩展分布式系统的好方法。我不明白的是如何真正调试用它编写的服务。另外,HTTP/2是唯一支持的wire protocol如何调试gRPC-Go服务?

+2

您可以通过将'GRPC_TRACE'环境变量设置为'all'来进行调试。至于HTTP/2,我认为这是出于安全性和可靠性的考虑。我可能是错误的,虽然 – khuderm

+0

谢谢@ khuderm ...那么,有没有替代写入协议可用呢? –

+1

对不起,我的意思是没有一个,但我不是100%确定 – khuderm

回答

1

不确定您是否找到了解决方案......但取决于您的应用程序中有多少服务,您可以使用分布式跟踪系统来记录服务之间的呼叫。这些系统的一些包括:

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

还有opentracing绑定gRPC reay使用。 https://github.com/grpc-ecosystem/grpc-opentracing