什么是zk

实现服务注册
下载启动zkServer
yml
spring: application: name: whotw-zk cloud: zookeeper: connect-string: localhost:2181 server: port: 8080
多加如下依赖
<!--监控文件刷新--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <!--服务发现与注册--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId> </dependency> <!--服务配置中心--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zookeeper-config</artifactId> </dependency>
StartApp
@SpringBootApplication //注解自动将服务注册到consul或zk上 @EnableDiscoveryClient public class StartApp { public static void main(String[] args) { SpringApplication.run(StartApp.class, args); } } UserController @RestController public class UserController { @Value("${spring.application.name}") private String instanceName; @Autowired private DiscoveryClient discoveryClient; @GetMapping("/services") public List<String> serviceUrl() { //服务服务信息 List<ServiceInstance> list = discoveryClient.getInstances(instanceName); List<String> services = new ArrayList<>(); if (list != null && list.size() > 0) { list.forEach(serviceInstance -> { services.add(serviceInstance.getUri().toString()); }); } return services; } }
启动项目后自动注册到zk,要启动zkServer先
使用zk可视化工具查看服务注册信息

实现配置中心
先启动zkServer
使用zkCli创建节点信息
[zk: localhost:2181(CONNECTED) 16] create /config [zk: localhost:2181(CONNECTED) 17] create /config "" Created /config [zk: localhost:2181(CONNECTED) 18] create /config/app-dev/name "dev" Node does not exist: /config/app-dev/name [zk: localhost:2181(CONNECTED) 19] create /config/app-dev "" Created /config/app-dev [zk: localhost:2181(CONNECTED) 20] create /config/app-dev/name "dev" Created /config/app-dev/name [zk: localhost:2181(CONNECTED) 21] create /config/app-uat/name "uat" Node does not exist: /config/app-uat/name [zk: localhost:2181(CONNECTED) 22] create /config/app-uat [zk: localhost:2181(CONNECTED) 23] create /config/app-uat "" Created /config/app-uat [zk: localhost:2181(CONNECTED) 24] create /config/app-uat/name "uat" Created /config/app-uat/name [zk: localhost:2181(CONNECTED) 25] create /config/app "app" Created /config/app [zk: localhost:2181(CONNECTED) 26]
zk可视化工具查看创建的信息
文章来源: https://blog.csdn.net/qq_40673786/article/details/91048934