本文转载自微信公众号《吴沁强的深夜食堂》,作者吴沁库里。转载本文请联系吴勤强深夜食堂公众号。前言偶然看到董泽润大哥的一篇使用WireShark分析gRPC流量的文章,学习了下。原文地址:提示!Wireshark让调试grpc不再困难。然后介绍一下我用过的两个gRPC客户端调试工具。EvansEvans[1]有两种操作模式:REPL和CLI。Evans比其他gRPC客户端更具表现力,并且支持自动完成。Evans的安装非常方便。在Mac上,我们只需要执行下面两行命令即可。让我们了解一下REPL模式。首先我们需要有一个pb文件,假设你的文件在api/api.proto,我们只需要这个:默认地址是127.0.0.1:50051,当然你可以通过--host和--port指定服务器.上图中的命令:showpackage读取pb包名,showservice显示对应的服务列表。callxxx调用gRPC服务...更多命令可以在官网找到。除了上述直接导入pb文件外,我们还可以通过gRPC反射包(反射)在反射服务中注册grpc.Server。这样就可以通过反射提供的反射服务查询对应的gRPC服务,也可以直接调用gRPC服务。注册反射服务的操作也很简单。回到Evans工具,如果一个gRPC服务是用反射注册的,我们可以使用-r选项来启动Evans。例如如下:对其他模式感兴趣的可以自行查看官网,这里不再演示。BloomRPCBloomRPC[2]是一个简单的GUI客户端工具,使用起来更加简单。只需导入pb文件并单击两次。当然有个缺点就是每次修改pb都要重新导入。总结以上介绍了两款gRPC客户端工具。不知道大家平时用gRPC有哪些周边工具,欢迎一起讨论。附录[1]https://github.com/ktr0731/evans[2]https://github.com/uw-labs/bloomrpc
