本文转载自微信公众号「吴亲强的超实深夜食堂」,作者吴亲库里 。客户转载本文请联系吴亲强的端调深夜食堂公众号。 正好看到董泽润老哥一篇关于使用WireShark分析gRPC流量的试工文章,学到了。超实原文地址:小技巧!Wireshark 让调试 grpc 不再困难 那我就介绍使用过的客户两款gRPC客户端调试工具吧。 Evans[1]有两种运行模式:REPL和CLI。端调 比起其他gRPC客户端,试工Evans更具有表现力,并且它还支持自动补全功能。超实 Evans的客户安装非常方便,在Mac上我们只需要执行以下两行命令即可。端调 我们来学习一下REPL模式。试工 首先我们需要有一个pb文件,超实假设你的网站模板客户文件在api/api.proto,我们只需要这样: 默认地址为127.0.0.1:50051,端调当然你可以通过--host和--port来指定服务器。 上图的命令: 更多命令可自行查阅官网。 除了上述这种直接引入pb文件外,我们还可以通过gRPC反射包(reflection), 将grpc.Server注册到反射服务中。 这样的话,就可以通过reflection提供的反射服务查询到对应的gRPC服务,或者直接调用gRPC服务。 注册反射服务操作也很简单, 回到Evans工具,源码库 如果一个gRPC服务注册了反射,我们就可以使用-r选项来启动Evans。 比如像下面这样: 对另外一种模式感兴趣的可以自行查看官网,这里不再演示。 BloomRPC[2]是一个简单的GUI客户端工具,使用这个那就更简单了。 只需要导入pb文件,然后点两下即可。 当然有个不好点在于,每次修改了pb,都不得不重新导入。 以上介绍了两款gRPC客户端工具。不知道你们平常都使用gRPC哪些周边工具,欢迎一起讨论。 附录 [1]https://github.com/ktr0731/evans [2]https://github.com/uw-labs/bloomrpc介绍
Evans
BloomRPC
总结