在網上看到了一種對gRPC的用法,這裡分享一下

2021-09-25 14:23:14 字數 1293 閱讀 5803

首先,讓我們在名為echomessage的protobuf訊息中定義名為echoservice的引數,該訊息包含乙個名為value的字段。我們將在乙個名為protobuf的「.proto」檔案中定義此訊息service.proto。這是我們的echomessage:

message echomessage
在同乙個.proto檔案中,我們定義了乙個grpc服務,它接受這個資料結構並返回它:

service echoservice 

}

如果現在進行go語言服務類的編譯可以生成go語言的服務存根,以及其他語言的客戶端,但是並不能想暴露了rest介面那樣進行可以直接通過url進行服務訪問,這不是我們想要的,我們可以進行改動,使grpc中的服務可以像rest服務那樣進行直接訪問,加乙個grpc閘道器。

如下

service echoservice ;

}}

這種情況下,如果生成proto檔案,可以通過http直接訪問grpc服務,例如:

要試用它,您只需要乙個有效的go 1.6開發環境和以下簡單命令:

$ grpc-gateway-example serve在伺服器執行的情況下,您可以嘗試http 1.1和grpc介面上的請求:

grpc-gateway-example echo take a rest from rest with grpc

curl -x post -k https://localhost:10000/v1/echo -d ''

整體流程圖如下:

[外鏈轉存失敗(img-zpuo70nd-1564107671529)(c:\users\mim\desktop\go筆記\go語言基礎資料結構與知識點\picture\snipaste_2019-07-26_10-16-25.png)]

鏈結內容更豐富

看到了乙個真實的自己

剛才在部落格生活裡閒逛,看到爪友已逝老友寫的一篇隨筆,裡面有一段如下 離開了校園,選擇了離家很遠的地方去工作,家人不理解,我只是不想在父母的關係網蔭庇下去度過自己的生活,想自己在乙個陌生的城市親手去開創一番,建立自己的網路,我知道自己將為此付出的代價,已經失去了最愛的人,我想有個堅強的外表,可還是痛...

看到了乙個真實的自己

剛才在部落格生活裡閒逛,看到爪友已逝老友寫的一篇隨筆,裡面有一段如下 離開了校園,選擇了離家很遠的地方去工作,家人不理解,我只是不想在父母的關係網蔭庇下去度過自己的生活,想自己在乙個陌生的城市親手去開創一番,建立自己的網路,我知道自己將為此付出的代價,已經失去了最愛的人,我想有個堅強的外表,可還是痛...

在網上看到這樣乙個問題

有關利用teamviewer的vpn訪問受控機器內網功能問題?外網有一台機器b 中文xp sp3 也安裝了teamviewer3.6.4756,能通過這個東東連線到內網的機器a,進行遠端控制 現在我想使用這個軟體的vpn功能,從外網的機器直接訪問內網的網路 選擇 vpn 點連線,顯示連線成功,我的i...