北京当地网站 点,外贸数据分析网站,淄博网站建设培训班,wordpress筛选模板微服务间通信重构与服务治理笔记-CSDN博客 Zookeeper是一个分布式协调工具,可以实现注册中心功能
安装Zookeeper 随便 就用最新版本吧 进入Zookeeper 包目录
cd /usr/local/develop/
解压
tar -zxvf apache-zookeeper-3.9.1-bin.tar.gz -C /usr/local/develop
进入配置文件…微服务间通信重构与服务治理笔记-CSDN博客 Zookeeper是一个分布式协调工具,可以实现注册中心功能
安装Zookeeper 随便 就用最新版本吧 进入Zookeeper 包目录
cd /usr/local/develop/
解压
tar -zxvf apache-zookeeper-3.9.1-bin.tar.gz -C /usr/local/develop
进入配置文件
cd /usr/local/develop/apache-zookeeper-3.9.1-bin/conf
复制文件
cp zoo_sample.cfg zoo.cfg 编辑文件
vim zoo.cfg mkdir /usr/local/develop/apache-zookeeper-3.9.1-bin/data 这个没必要 会自动创建 cd /usr/local/develop/apache-zookeeper-3.9.1-bin/bin 启动Zookeeper
./zkServer.sh start 安装JDK 解压
tar -zxvf /usr/local/develop/jdk-8u191-linux-x64.tar.gz -C /usr/local/develop
配置JAVA_HOME export JAVA_HOME/usr/local/develop/jdk1.8.0_191
export PATH$JAVA_HOME/bin:$PATH
export CLASSPATH.:$JAVA_HOME/lib 让环境变量生效
source /etc/profile
java -version 查看jdk版本 至此JDK安装完成 which java 查看调用的是安装在哪里的java 进入Zookeeper启动目录
cd /usr/local/develop/apache-zookeeper-3.9.1-bin/bin 启动
./zkServer.sh start 停止
./zkServer.sh stop
配置Zookeeper为系统服务
vim /etc/systemd/system/zookeeper.service [Unit] DescriptionApache ZooKeeper server Afternetwork.target
[Service] Typeforking ExecStart/usr/local/develop/apache-zookeeper-3.9.1-bin/bin/zkServer.sh start ExecStop/usr/local/develop/apache-zookeeper-3.9.1-bin/bin/zkServer.sh stop Userroot Grouproot Restarton-failure EnvironmentJAVA_HOME/usr/local/develop/jdk1.8.0_191
[Install] WantedBymulti-user.target 是配置生效
systemctl daemon-reload 开机自启 看自己实际需要
systemctl enable zookeeper.service systemctl start zookeeper.service 启动 systemctl stop zookeeper.service 停止 systemctl restart zookeeper.service 重启 systemctl status zookeeper.service 查看状态
admin.serverPort8888指定了ZooKeeper的管理服务器端口。这个管理服务器提供了一个简单的HTTP接口用于获取ZooKeeper服务的状态和性能指标等信息。通过访问这个端口你可以获取到ZooKeeper实例的各种管理信息比如运行状态、连接数、节点数量等。
默认情况下ZooKeeper的管理界面并不提供一个全面的Web界面来浏览这些信息而是提供了一个简单的HTTP服务通过发送HTTP请求到这个端口可以获取到JSON格式的状态信息。
IP:8888/commands/stat 关闭Zookeeper服务
systemctl stop zookeeper.service
systemctl start zookeeper.service Docker安装Zookeeper
docker run -d --name zookeeper --privilegedtrue -p 2181:2181 -v /mydata/zookeeper/data:/data -v /mydata/zookeeper/conf:/conf -v /mydata/zookeeper/logs:/datalog zookeeper:3.5.7
后面补 创建支付模块(生产者) 重新构建支付模块 pom.xml
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdparentartifactIdSpringCloud/artifactIdgroupIdorg.example/groupIdversion1.0-SNAPSHOT/version/parentmodelVersion4.0.0/modelVersionartifactIdcloud-provider-payment8084/artifactIdpropertiesmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.target/propertiesdependenciesdependencygroupIdorg.example/groupIdartifactIdcloud-api-commons/artifactIdversion${project.version}/version/dependency!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-actuator/artifactId/dependency!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-zookeeper-discovery --dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-zookeeper-discovery/artifactId/dependency!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-devtools --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-devtools/artifactIdscoperuntime/scopeoptionaltrue/optional/dependency!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependency!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-test --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency/dependencies/projectapplication.yml
server:port: 8084spring:application:name: cloud-provider-paymentcloud:zookeeper:connect-string: xxx.xx.xxx.x:2181启动类 控制器
package com.exempla.pay01.controller;import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.UUID;/*** author hrui* date 2024/3/2 6:07*/
RestController
Slf4j
RequestMapping(/payment)
public class PaymentController {Value(${server.port})private String serverPort;GetMapping(value /zk)public String paymentzk(){return springcloud with zookeeper:serverPort\t UUID.randomUUID().toString();}
}启动8084 注册进Zookeeper lombok找不到 加个版本
记得Zookeeper服务器开通安全组
有可能版本冲突 解决办法 cd /usr/local/develop/apache-zookeeper-3.9.1-bin/bin
./zkCli.sh
ls / ls /services ls /services/cloud-provider-payment ls /services/cloud-provider-payment/04bbfd46-50e0-462a-bd22-b8083cc445cf get /services/cloud-provider-payment/04bbfd46-50e0-462a-bd22-b8083cc445cf 上面这个JSON串 就是微服务注册相关的信息 quit 也可以
IP:8888/commands/stat 看下 访问接口 可以
localhost:8084/payment/zkhttp://localhost:8084/payment/zk 创建订单模块(消费者) pom.xml
dependenciesdependencygroupIdcom.atguigu.springcloud/groupIdartifactIdcloud-api-commons/artifactIdversion${project.version}/version/dependency!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-actuator/artifactId/dependency!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-zookeeper-discovery --dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-zookeeper-discovery/artifactId/dependency!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-devtools --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-devtools/artifactIdscoperuntime/scopeoptionaltrue/optional/dependency!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependency!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-test --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency/dependencies
启动类 application.yml
server:port: 80spring:application:name: cloud-consumer-ordercloud:zookeeper:connect-string: xxx.xx.xx.x:2181
配置RestTemplate和负载均衡 控制器 启动服务
localhost/consumer/payment/zk 关于EnableDiscoveryClient 注解 早期版本确实生产者和消费者启动类要加 后来就不需要了