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

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

介绍


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

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


Evans


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

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

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


1668507187880.jpg


我们来学习一下REPL模式

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


0.gif


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


1668507224627.jpg


上图的命令:

  • show package读取pb包名
  • show service显示对应服务列表
  • call xxx调用gRPC服务......
  • .....

更多命令可自行查阅官网

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

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

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


1668507238150.jpg


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

比如像下面这样

0.gif

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


BloomRPC


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

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

1.gif

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


总结


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


附录


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

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

相关文章
|
中间件 Go 数据处理
Go语言学习 - RPC篇:gRPC-Gateway定制mux选项
通过上一讲,我们对gRPC的拦截器有了一定的认识,也能定制出很多通用的中间件。 但在大部分的业务系统中,我们面向的还是HTTP协议。那么,今天我们就从gRPC-Gateway的mux选项出发,一起来看看一些很实用的特性。
272 0
|
存储 JSON Go
Golang 语言 gRPC 服务怎么同时支持 gRPC 和 HTTP 客户端调用?
Golang 语言 gRPC 服务怎么同时支持 gRPC 和 HTTP 客户端调用?
220 0
|
开发框架 安全 .NET
使用grpcui测试gRPC服务
使用grpcui测试gRPC服务
190 0
|
Go Docker 微服务
几种gRPC调试工具
几种gRPC调试工具
192 0
|
存储 JavaScript 网络协议
WebSocket接口初体验
这两天在调试一个WebSocket的接口,折腾了一天的时间终于弄好了。现在对WebSocket的相关知识点做一个记录。主要从如下几个方面进行介绍。
298 0
WebSocket接口初体验
|
JavaScript 网络协议 Java
我的小工具-nodejs串口转TCP调试通信
我的小工具-nodejs串口转TCP调试通信
|
测试技术 API
【.NET6】gRPC服务端和客户端开发案例,以及minimal API服务、gRPC服务和传统webapi服务的访问效率大对决
前言:随着.Net6的发布,Minimal API成了当下受人追捧的角儿。而这之前,程序之间通信效率的王者也许可以算得上是gRPC了。那么以下咱们先通过开发一个gRPC服务的教程,然后顺势而为,再接着比拼一下minimal api服务和gRPC服务在通信上的效率。
473 0
【.NET6】gRPC服务端和客户端开发案例,以及minimal API服务、gRPC服务和传统webapi服务的访问效率大对决
|
测试技术 Go
gRPC阅读日记(五)创建grpc的服务端和客户端
gRPC阅读日记(五)创建grpc的服务端和客户端
107 0
grpc getaway 使用出错
grpc getaway 使用出错的问题
grpc getaway 使用出错
|
Java Go API
Grpc初体验
Grpc初体验
129 0