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