五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

工作中你會使用到 grpcurl 嗎?

2023-08-29 23:03 作者:阿兵云原生  | 我要投稿

在平時的開發(fā)過程中,我們一般是 http 接口對外, grpc 接口對內(nèi)部微服務

相信對于如何去請求 http 接口,大家都很熟悉了

  • 如果是 inux 里面使用 curl 命令

  • 在 windows 里面我們可以使用 postman 來請求接口

  • 如果對于一個云上開發(fā)的接口的話,我們可能會使用 apifox 來進行請求

那么對于 grpc 服務端提供的接口,我們一般會如何去請求這些接口來自測呢

  • Windows 里面我們可以使用 bloomRPC 工具

  • Linux 里面我們可以使用 grpcurl 工具

DEMO

關于 grpc 的基本知識,感興趣的可以查看歷史文章:

  • gRPC介紹

  • gRPC 客戶端調(diào)用服務端需要連接池嗎?

  • gRPC的攔截器

  • gRPC的認證

  • 分享一下 gRPC- HTTP網(wǎng)關 I

那么我們寫一個 demo,一個 grpc 的服務端,提供如下接口

  • 查詢租戶的詳情

  • 查詢租戶的列表

Demo 目錄結構如下:

咱們的 proto 文件可以是這樣的:

protoc?--go_out=.?--go_opt=paths=source_relative?--go-grpc_out=.?--go-grpc_opt=paths=source_relative?tenant.proto

基本簡單的代碼實現(xiàn)如下:

rpc_services.go 代碼如下

這個時候啟動咱們的服務端,如何運行 golang 程序就不贅述了

bloomRPC 工具

開始來下載 bloomRPC 工具

對于 bloomRPC 工具,我們可以在這個地址里面去下載,自由選擇:

  • https://appimage.github.io/BloomRPC/

  • https://github.com/bloomrpc/bloomrpc/releases

下載安裝之后,我們可以看到 bloomRPC 是如下這個界面,非常清爽

導入咱們的 tenant.proto 文件后,可以看到咱們服務端提供的如下兩個接口:

  • get_tenant_detail

  • get_tenant_list

這個時候,咱們就可以使用 bloomRPC 工具,請求咱們服務端的接口了,效果如下:

獲取租戶詳情

獲取租戶列表

Windows 的工具比較簡單,我們來看看 linux 里面的 grpcurl 工具

grpcurl 工具

grpcurl 是linux 里面與grpc服務器交互的命令行工具,咱們就可以理解是 curl 工具的 grpc 版本

使用 grpcurl 工具,我們需要在咱們的代碼實現(xiàn)中給我們的 grpc 服務端注冊一下 reflection

  • 先來看看 grpcurl 工具的安裝

go?get?github.com/fullstorydev/grpcurl
go?install?github.com/fullstorydev/grpcurl/cmd/grpcurl@latest

  • 然后在我們上述的 rpc_services.go 代碼中,注冊 reflection

  • 效果驗證

這個時候,咱們將上述的 rpc_tool_demo 整個項目放到 linux 中進行運行,啟動服務端,當然我的 demo 中 grpc 服務端監(jiān)聽的是 8888 端口,如果咱們 linux 環(huán)境這個端口已經(jīng)被占用了,可以自行更換端口

以本 demo 為例

查看服務列表

grpcurl?-plaintext?localhost:8899?list

查看指定服務的接口列表

grpcurl?-plaintext?localhost:8899?list?tenant.Tenant

查看某一個 rpc 接口的實際情況

grpcurl?-plaintext?localhost:8899?describe?tenant.Tenant.get_tenant_detail

查看具體某一個結構體的詳情

grpcurl?-plaintext?localhost:8899?describe?.tenant.TenantDetailRsp

使用 grpcurl 請求 grpc 服務端的接口

對于 grpcurl 的其他奇淫巧技可以查看幫助清單

grpcurl?-h

如果需要查看 demo 源碼,可以進入地址:https://github.com/qingconglaixueit/rpc_tool_demo

至此,本篇內(nèi)容結束

【歡迎查看歷史文章】

  • 微服務框架 go-zero logx 日志組件剖析[1]

  • 微服務框架 go-zero 快速實戰(zhàn)[2]

  • 微服務框架 go-zero 的鏈路追蹤[3]

感謝閱讀,歡迎交流,點個贊,關注一波 再走吧

歡迎點贊,關注,收藏

朋友們,你的支持和鼓勵,是我堅持分享,提高質量的動力

好了,本次就到這里

技術是開放的,我們的心態(tài),更應是開放的。擁抱變化,向陽而生,努力向前行。

我是阿兵云原生,歡迎點贊關注收藏,下次見~

參考資料

[1]

https://juejin.cn/post/7139711202682208293: https://juejin.cn/post/7139711202682208293

[2]

https://juejin.cn/post/7138960256054345741: https://juejin.cn/post/7138960256054345741

[3]

微服務框架 go-zero 的鏈路追蹤: https://juejin.cn/post/7141347827786973198


工作中你會使用到 grpcurl 嗎?的評論 (共 條)

分享到微博請遵守國家法律
宜州市| 新建县| 马鞍山市| 武隆县| 正阳县| 岢岚县| 惠水县| 吴忠市| 延长县| 兖州市| 固始县| 亳州市| 宣恩县| 成都市| 依兰县| 离岛区| 广灵县| 秭归县| 广州市| 奇台县| 潼关县| 道孚县| 南投县| 通城县| 永定县| 江都市| 扬州市| 宁阳县| 华蓥市| 郧西县| 连山| 麻阳| 林周县| 铅山县| 茶陵县| 德钦县| 南昌县| 客服| 怀集县| 漾濞| 迁西县|