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

Posted Go语言中文网

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了超实用的 gRPC 客户端调试工具相关的知识,希望对你有一定的参考价值。

介绍

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

Evans

Evans[1]有两种运行模式REPLCLI

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

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


我们来学习一下REPL模式

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

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

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

上图的命令:

  • show package读取pb包名

  • show service显示对应服务列表

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

  • .....

更多命令可自行查阅官网

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

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

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

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


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

比如像下面这样: 

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

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


BloomRPC

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

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


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

总结

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


附录

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

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



推荐阅读



福利

我为大家整理了一份 从入门到进阶的Go学习资料礼包 ,包含学习建议:入门看什么,进阶看什么。 关注公众号 「polarisxu」,回复  ebook  获取;还可以回复「进群」,和数万 Gopher 交流学习。

以上是关于超实用的 gRPC 客户端调试工具的主要内容,如果未能解决你的问题,请参考以下文章

超实用的php代码片段

十个html5代码片段,超实用,一定要收藏

利用JVM在线调试工具排查线上问题(超实用)

开发工具使用技巧视频教程(超实用)

gRPC如何便捷的调试gRPC程序

gRPC如何便捷的调试gRPC程序