本文主要講述在laravel框架中構建grpc服務的準備工作
注:
1.php做grpc的客戶端,這裡我會採用go語言編寫grpc的服務端,後續文章會講到
2.客戶端與服務端通訊是通過protocol buffers進行互動的
那麼什麼是protocol buffers?請參考:
環境如下:
macos 10.3.6
php版本:7.1.2
laravel版本:5.8
首先你的php需要安裝grpc擴充套件:
這裡我選擇的手動編譯安裝,安裝步驟就不演示了,如果你需要幫助可以私信我。
grpc擴充套件下載地址:http://pecl.php.net/package/gRPC
當然,你也可以使用pecl直接安裝,pecl install grpc-1.20.0
你的機器上需要安裝protobuf,這裡我使用homebrew進行安裝
查詢命令:brew search protobuf
安裝命令:brew install protobuf
然後你需要在你的laravel專案的composer.json中引入“grpc/grpc”和“google/protobuf”這兩個SDK,版本號如圖:
執行composer update
在專案根目錄下建立一個叫grpc的資料夾,在此資料夾中建立一個叫 test.proto的檔案,檔案內容如下:
.proto結尾的檔案一式兩份,客戶端儲存一份、服務端儲存一份,相當於定義了互動的格式。
就此,我們的準備工作已經完成
參考資料:
https://grpc.io/docs/quickstart/php/