简单微服务架构Docker+Hyperf+jsonRPC+Nacos

1.环境:Windows 10下WLS2在应用商店安装Ubuntu

 2.Nacos安装:(单机版—嘻嘻嘻~)

    拉取镜像:

sudo docker pull nacos/nacos-server

    创建临时容器:

sudo docker run -p 8848:8848 --name yt_nacos -d nacos/nacos-server

    配置cp到宿主机:(提前创建对应目录)

sudo docker cp yt_nacos:/home/nacos/logs/ /docker/nacos/
sudo docker cp yt_nacos:/home/nacos/conf/ /docker/nacos/

    停止并删除临时容器:

sudo docker stop yt_nacos
sudo docker rm yt_nacos

    配置文件application.properties修改:(各种报错,直接git项目下来直接替换了这个文件o(╯□╰)o)

           改了其中的nacos.core.auth.plugin.nacos.token.secret.key值为公开默认值:

           VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=

    执行挂载:

sudo docker run -d -e MODE=standalone -v /docker/nacos/logs:/home/nacos/logs -v /docker/nacos/conf:/home/nacos/conf -p 8848:8848 --name yt_nacos --restart=always nacos/nacos-server

   查看docker日志并登录Nacos控制台:

sudo docker logs yt_nacos

     link:http://127.0.0.1:8848/nacos/(账户密码默认都是:nacos)

     linux和windows的java环境都安装了,没验证docker安装Nacos是否必需。

3.创建服务提供者:

   本人windows下开发,所以项目的挂载目录都在/mnt/d下:

sudo docker run --name hyperf_ser \
-v /mnt/d/data:/data/project \
-p 9501:9501 -it \
--privileged -u root \
--entrypoint /bin/sh \
hyperf/hyperf:8.0-alpine-v3.15-swoole

  将 Composer 镜像设置为阿里云镜像,加速国内下载速度:

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer

   创建项目hyperf_ser:

cd /data/project
composer create-project hyperf/hyperf-skeleton hyperf_ser

   启动项目:

cd hyperf_ser
php bin/hyperf.php start

   验证一哈:

  安装jsonRpc组件&服务端:

composer require hyperf/json-rpc
composer require hyperf/rpc-server

   定义服务提供者并发布到服务中心nacos:(直接贴代码 =。=)

    配置完成后,在启动服务时,Hyperf 会自动地将 #[RpcService] 定义了 publishTo 属性为nacos 的服务注册到对应的服务中心去:

4.创建服务消费者:

   重复搬砖(注意换个端口哈):

sudo docker run --name hyperf_con \
-v /mnt/d/data:/data/project \
-p 9502:9502 -it \
--privileged -u root \
--entrypoint /bin/sh \
hyperf/hyperf:8.0-alpine-v3.15-swoole

  创建并启动项目hyperf_con:

 安装jsonRpc组件&客户端:

composer require hyperf/json-rpc
composer require hyperf/rpc-client

  报错(Config of registry or nodes missing),检查文件services.php无误发现还需组件:

composer require hyperf/service-governance-nacos

  报错(cURL error 7: Failed to connect to 127.0.0.1 port 8848 after 0 ms: Connection refused),直接按照文档配置开始就感觉有点不对劲,服务提供时新开的namespace_id不用配置?最后发现在服务提供者那和consumers同级有个drivers,直接带过来就可以了。不多BB,show the code =。=

 5.总结:感觉思路要捋顺,遇到问题可思考一下,再调试一下,还是不行。事已至此先吃饭吧0.0

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值