构建微服务架构(Zookeeper篇)
B站视频:https://www.bilibili.com/video/BV18E411x7eT?from=search&seid=13583080742381804215
原Blog笔记文档:https://blog.csdn.net/u011863024/article/details/114298270
本篇文章大部分图片用到了参考的blog笔记中的图片。
本人代码下载:下载
zookeeper是一个分布式协调工具,可以实现注册中心功能
1. Zookeeper的安装
1.1 Zookeeper 下载地址
下载地址:https://zookeeper.apache.org/
1.2 Zookeeper 安装
解压
1 | tar -vxf apache-zookeeper-3.7.0-bin.tar.gz |
移动至合适的安装目录
1 | mv apache-zookeeper-3.7.0-bin /apache-zookeeper/ |
按照参考的配置文件创建配置文件
1 | cp /apache-zookeeper/conf/zoo_sample.cfg /apache-zookeeper/conf/zoo.cfg |
配置文件参数如下图
启动zookeeper
1 | ./zkServer.sh start |
查看启动是否成功
2. 支付微服务注册进 zookeeper
2.1 创建父工程 springcloud2021
2.2 springcloud2021 父工程 pom.xml 代码如下
1 | <?xml version="1.0" encoding="UTF-8"?> |
2.3 创建cloud-provider-payment8004 的 Maven 工程
2.4 cloud-provider-payment8004 工程 pom.xml 文件如下
1 | <?xml version="1.0" encoding="UTF-8"?> |
注:如果需要指定的 zookeeper 的版本,请先将 zookeeper 的依赖去除掉,单独引入。
2.5 cloud-provider-payment8004 工程 application.yml 文件如下
1 | # 8004表示注册到zookeeper服务器的支付服务提供者端口号 |
2.6 cloud-provider-payment8004 工程 主启动类如下
1 | package com.sevattal.springcloud; |
2.7 cloud-provider-payment8004 工程 Controller 类如下
1 | package com.sevattal.springcloud.controller; |
2.8 启动 8004 注册进 zookeeper(要先启动 zookeeper 的 server)
验证测试:浏览器 http://localhost:8004/payment/zk
验证测试2 :接着用 zookeeper 客户端操作
1 | ls / |
json 格式化 get /services/cloud-provider-payment/844c8da2-ba07-4a8a-9287-712748f681e6
1 | { |
2.9 Zookeeper 临时还是持久节点
ZooKeeper 的服务节点是临时节点,没有Eureka那含情脉脉。
3 订单服务注册进 zookeeper
3.1 创建 cloud-consumerzk-order80 项目
3.2 cloud-consumerzk-order80 工程 pom.xml 文件如下
1 | <?xml version="1.0" encoding="UTF-8"?> |
3.3 cloud-consumerzk-order80 工程 application.yml 文件如下
1 | server: |
3.4 cloud-consumerzk-order80 工程 启动类
1 | package com.sevattal.springcloud; |
3.5 cloud-consumerzk-order80 工程 业务类
1 | package com.sevattal.springcloud.config; |
3.5 cloud-consumerzk-order80 工程 Controller 类
1 | package com.sevattal.springcloud.controller; |
3.6.验证测试
运行 ZooKeeper 服务端,cloud-consumerzk-order80,cloud-provider-payment8004。
打开 ZooKeeper 客户端: