微服务间通信重构与服务治理笔记-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]
Description=Apache ZooKeeper server
After=network.target
[Service]
Type=forking
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
User=root
Group=root
Restart=on-failure
Environment=”JAVA_HOME=/usr/local/develop/jdk1.8.0_191″
[Install]
WantedBy=multi-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.serverPort=8888
指定了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 –privileged=true -p 2181:2181 -v /mydata/zookeeper/data:/data -v /mydata/zookeeper/conf:/conf -v /mydata/zookeeper/logs:/datalog zookeeper:3.5.7
后面补
创建支付模块(生产者)
重新构建支付模块
pom.xml
SpringCloud
org.example
1.0-SNAPSHOT
4.0.0
cloud-provider-payment8084
8
8
org.example
cloud-api-commons
${project.version}
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-actuator
org.springframework.cloud
spring-cloud-starter-zookeeper-discovery
org.springframework.boot
spring-boot-devtools
runtime
true
org.projectlombok
lombok
true
org.springframework.boot
spring-boot-starter-test
test
application.yml
server:
port: 8084
spring:
application:
name: cloud-provider-payment
cloud:
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
com.atguigu.springcloud
cloud-api-commons
${project.version}
org.spr服务器托管网ingframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-actuator
org.springframework.cloud
spring-cloud-starter-zookeeper-discovery
服务器托管网 org.springframework.boot
spring-boot-devtools
runtime
true
org.projectlombok
lombok
true
org.springframework.boot
spring-boot-starter-test
test
启动类
application.yml
server:
port: 80
spring:
application:
name: cloud-consumer-order
cloud:
zookeeper:
connect-string: xxx.xx.xx.x:2181
配置RestTemplate和负载均衡
控制器
启动服务
localhost/consumer/payment/zk
关于@EnableDiscoveryClient 注解 早期版本确实生产者和消费者启动类要加 后来就不需要了
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
相关推荐: Resolving Low-Level Graphics Issues
Resolving Low-Level Graphics Issues 在远程操作其他工作站上的matlab的时候,无法显示仿真结果,但是在真实服务器托管网的工作站上操作的话又可以看到simulation的结果,并且远程的时候进行仿真,就会显示以下的错误提示:…