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管理 -> 服務管理, 點選新增填寫服務名和執行個體等資訊,多個執行個體用逗号分隔,網關會輪詢調用。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsATOfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5yNwITNhNjNmFjNjJWZ5Q2YiVTZ5QGOhRTZygDMkVDOx8CXyAzLcZDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL1M3Lc9CX6MHc0RHaiojIsJye.png)
打開RPC管理 -> 接口管理, 點選新增把你需要的接口錄入到系統,沒有用到的接口可以不錄入
打開服務編排 -> 接口清單,新增一個接口, 選擇所屬服務(如:func-test), 如果還沒有服務可點選右邊的新增服務按鈕添加, 接口路徑為/grpc/user/findById, 如圖:
選擇前面步驟錄入的grpc接口, 并設定grpc接口入參,采用引用值引用服務編排接口的Query參數, 關于參數的配置可參考文檔:(服務編排-資料轉換 (opens new window))
配置服務編排接口的輸出:
儲存接口
打開網關管理 -> 路由管理, 點選新增配置以下路由
回到服務編排的接口,點選測試. 填寫Query參數id=666, 服務編排接口是透傳了gRPC服務的findById的資料,得到以下結果:
服務編排接口需要釋出才可以對外提供服務,打開編排稽核 -> 我的申請,新增一個釋出申請,為了友善操作選擇超級管理者為稽核人
打開待稽核清單,稽核上一步的單子:
打開我的申請,點選申請單的檢視操作:
釋出接口:
通路http://[網關IP]:8600/proxy/func-test/grpc/user/findById?id=666
結果: