暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

超实用的 gRPC 客户端调试工具

RememberGo 2021-07-28
1460

图片拍摄于2021年7月10日,湖州安吉。


介绍

正好看到董泽润老哥一篇关于使用WireShark
分析gRPC
流量的文章学到了。原文地址:小技巧!Wireshark 让调试 grpc 不再困难

那我就介绍使用过的两款gRPC
客户端调试工具吧


Evans

Evans[1]
有两种运行模式REPL
CLI

比起其他gRPC
客户端,Evans
更具有表现力,并且它还支持自动补全功能。

Evans
的安装非常方便
Mac
上我们只需要执行以下两行命令即可


我们来学习一下REPL
模式

首先我们需要有一个pb
文件,假设你的文件在api/api.proto
我们只需要这样: 

默认地址为127.0.0.1:50051
当然你可以通过--host
--port
来指定服务器。 

上图的命令:

  • show package
    读取pb
    包名

  • show service
    显示对应服务列表

  • call xxx
    调用gRPC
    服务......

  • .....

更多命令可自行查阅官网

除了上述这种直接引入pb
文件外,我们还可以通过gRPC
反射包(reflection
), grpc.Server
注册到反射服务中

这样的话,就可以通过reflection
提供的反射服查询到对应的gRPC
服务,或者直接调用gRPC
服务

注册反射服务操作也很简单,


回到Evans
工具, 如果一个gRPC
服务注册了反射,我们就可以使用-r
选项来启动Evans

比如像下面这样: 

对另外一种模式感兴趣的可以自行查看官网,这里不再演示。


BloomRPC

BloomRPC[2]
是一个简单的GUI
客户端工具,使用这个那就更简单了

只需要导入pb
文件,然后点两下即可。 


当然有个不好点在于,每次修改了pb
都不得不重新导入

总结

以上介绍了两款gRPC
客户端工具。不知道你们平常都使用gRPC
哪些周边工具,欢迎一起讨论


附录

[1]https://github.com/ktr0731/evans

[2]https://github.com/uw-labs/bloomrpc


如果文章对你有所帮助,点赞、转发留言都是一种支持!

推荐往期文章:


后台操作
后台回复以下关键字获取对应资源

 go中文网:超全各阶段go书籍 | 微信:作者个人微信 | 微信群:Go不吹水微信群 520:尽情期待 | 
文章转载自RememberGo,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论