web開發微服務java案例不勝枚舉,php寫微服務的很少,大多數項目體量不大沒用微服務,項目大了就用Java或go改造,導致php在微服務這一塊生態很弱,看了網上案例,幾乎都不完整,只有某個片段,有的則要付費,結合項目中應用過的經驗以及微服務的相關理念,搭了一個完整的微服務作參考,主要用Hyperf 來實現,在微服務這一塊Hyperf 自帶了實現方式,比較全面,如果用thinkphp或其他框架,需要自己配置或下載安裝其他擴展,略顯麻煩。
先說步驟,並給出部分代碼及效果截圖,最后貼出整個項目鏈接。
一、利用consul做服務發現和服務健康檢查
首先安裝consul,以linux為例。
$ wget https://releases.hashicorp.com/consul/1.6.2/consul_1.6.2_linux_amd64.zip $ unzip consul_1.6.2_linux_amd64.zip $ mv consul /usr/local/bin/
啟動你的consul
consul agent -dev -client 0.0.0.0 -ui
二、配置服務提供者
默認安裝了 hyperf
安裝json rpc服務
composer require hyperf/json-rpc
安裝JSON RPC 服務端:
composer require hyperf/rpc-server
安裝JSON RPC 客戶端:
composer require hyperf/rpc-client
參考資料
- https://zhuanlan.zhihu.com/p/94011808