超實用的 gRPC 客戶端調試工具
圖片拍攝於 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
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/Xqbq3lzW1MgSPGMp5oM8Ng