超實用的 gRPC 客戶端調試工具

圖片拍攝於 2021 年 7 月 10 日,湖州安吉。

介紹

正好看到董澤潤老哥一篇關於使用WireShark分析gRPC流量的文章,學到了。原文地址: 小技巧!Wireshark 讓調試 grpc 不再困難

那我就介紹使用過的兩款gRPC客戶端調試工具吧。

Evans

Evans[1]有兩種運行模式:REPLCLI

比起其他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

BloomRPC[2]是一個簡單的GUI客戶端工具,使用這個那就更簡單了。

只需要導入pb文件,然後點兩下即可。 

當然有個不好點在於,每次修改了pb,都不得不重新導入。

總結

以上介紹了兩款gRPC客戶端工具。不知道你們平常都使用gRPC哪些周邊工具,歡迎一起討論。

附錄

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

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

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/Xqbq3lzW1MgSPGMp5oM8Ng