Laravel gRPC Client on Docker

參考資訊

https://ld246.com/article/1582954122248

https://www.kandaoni.com/news/36063.html

https://www.cnblogs.com/qing123/p/15144337.html

系統必要軟體

修改Dockerfile 增加以下,install grpc可能會跑超過1000秒以上需要一些時間

修改php.ini,增加以下extension

專案套件

Laravel 專案中安裝以下套件

gRPC資料準備

準備gRPC server端提供的proto 檔案,範例如下

在專案資料夾中建立以下資料夾

protobuf/build

protobuf/src

將notify_rpc.proto檔案放到protobuf/src中

執行以下指令生成相對應的php檔案

–php_out指定生成的位置

最後一個參數告訴他proto檔案的位置在哪

這時候會看到專案資料夾/protobuf/build中產生了以下幾個檔案

根據外部連結的說明文件來看,我們還缺一個 Nofity/NotifyClient.php檔案,原因是還需要透過grpc_php_plugin來生成,但是這個plugin一直build不起來

不過NofityClient.php不難,就手刻一個

gRPC服務呼叫

完成以上設定後就可以在Controller中呼叫Notify gRPC服務,範例如下