天天看點

Fizz Gateway網關接入gRPC指南

Fizz網關v1.5.0或以上版本 (安裝教程 (opens new window))

gRPC服務

本文使用的gRPC服務樣例:https://github.com/wehotel/fizz-examples/tree/master/fizz-example-grpc(opens new window)

本文後面使用的接口為findById, 接口會回顯入參的ID和傳回name字段,JSON如下:

把gRPC服務執行個體和接口集中維護,友善在服務編排裡多次調用。因網關是通過泛化調用gRPC接口,是以gRPC服務本身需啟用反射功能,請參考樣例:

進入Fizz管理背景, 打開RPC管理 -> 服務管理, 點選新增填寫服務名和執行個體等資訊,多個執行個體用逗号分隔,網關會輪詢調用。

Fizz Gateway網關接入gRPC指南

打開RPC管理 -> 接口管理, 點選新增把你需要的接口錄入到系統,沒有用到的接口可以不錄入

Fizz Gateway網關接入gRPC指南

打開服務編排 -> 接口清單,新增一個接口, 選擇所屬服務(如:func-test), 如果還沒有服務可點選右邊的新增服務按鈕添加, 接口路徑為/grpc/user/findById, 如圖: 

Fizz Gateway網關接入gRPC指南
Fizz Gateway網關接入gRPC指南

選擇前面步驟錄入的grpc接口, 并設定grpc接口入參,采用引用值引用服務編排接口的Query參數, 關于參數的配置可參考文檔:(服務編排-資料轉換 (opens new window))

Fizz Gateway網關接入gRPC指南

配置服務編排接口的輸出:

Fizz Gateway網關接入gRPC指南

儲存接口

打開網關管理 -> 路由管理, 點選新增配置以下路由

Fizz Gateway網關接入gRPC指南

回到服務編排的接口,點選測試. 填寫Query參數id=666, 服務編排接口是透傳了gRPC服務的findById的資料,得到以下結果:

Fizz Gateway網關接入gRPC指南

服務編排接口需要釋出才可以對外提供服務,打開編排稽核 -> 我的申請,新增一個釋出申請,為了友善操作選擇超級管理者為稽核人

Fizz Gateway網關接入gRPC指南

打開待稽核清單,稽核上一步的單子:

Fizz Gateway網關接入gRPC指南

打開我的申請,點選申請單的檢視操作:

Fizz Gateway網關接入gRPC指南

釋出接口:

Fizz Gateway網關接入gRPC指南

通路http://[網關IP]:8600/proxy/func-test/grpc/user/findById?id=666

結果:

Fizz Gateway網關接入gRPC指南