0


Spring Cloud使用ZooKeeper作为注册中心的示例

简单的Spring Cloud应用程序使用ZooKeeper作为注册中心的示例:
1.新建模块:
在这里插入图片描述
2.勾选依赖:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.在pom.xml文件中做出部分修改及添加Spring Cloud Zookeeper 依赖版本

在这里插入图片描述
完整pom文件

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.2.2</version><relativePath/><!-- lookup parent from repository --></parent><!--Generated by https://start.springboot.io --><!-- 优质的 spring/boot/data/security/cloud 框架中文文档尽在 => https://springdoc.cn --><groupId>com.example</groupId><artifactId>ZooKeeper</artifactId><version>0.0.1-SNAPSHOT</version><name>ZooKeeper</name><description>Demo project forSpringBoot</description><properties><java.version>1.8</java.version><zookeeper.version>2.2.5.RELEASE</zookeeper.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webflux</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-zookeeper-config</artifactId><version>${zookeeper.version}</version></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-zookeeper-discovery</artifactId><version>${zookeeper.version}</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>io.projectreactor</groupId><artifactId>reactor-test</artifactId><scope>test</scope></dependency></dependencies><dependencyManagement><dependencies></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

4.配置ZooKeeper连接:在application.yml文件中配置ZooKeeper的连接字符串。

spring:
  application:
    name: product
  cloud:
    zookeeper:
      connect-string: localhost:2181
server:
  port:8101

5.新增Controller:

packagecom.example.zookeeperserver;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RestController;@RestController@RequestMappingpublicclassProductController{@GetMapping("product")publicStringproduct(){return"this is product";}}
packagecom.example.zookeeper;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.cloud.client.ServiceInstance;importorg.springframework.cloud.client.discovery.DiscoveryClient;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.PathVariable;importorg.springframework.web.bind.annotation.RestController;importjava.util.List;@RestControllerpublicclassServiceController{@AutowiredprivateDiscoveryClient discoveryClient;/**
     * @Description:通过注入DiscoveryClient实例来获取服务实例的信息
     * @Author: 
     * @Date: 2024/2/7 15:46
     * @return: java.util.List<java.lang.String>
     *     访问地址:http://localhost:8101/services
     **/@GetMapping("/services")publicList<String>getServices(){//返回所有注册到服务发现中心的服务名称return discoveryClient.getServices();}/**
     * @Description:
     * @Author: 
     * @Date: 2024/2/7 15:52
     * @param serviceName:
     * @return: java.util.List<org.springframework.cloud.client.ServiceInstance>
     *     访问地址:http://localhost:8101/serviceInstances/product
     **/@GetMapping("/serviceInstances/{serviceName}")publicList<ServiceInstance>getServiceInstance(@PathVariableString serviceName){//getServiceInstances方法接受一个服务名称作为参数,返回该服务的所有实例。//每个ServiceInstance对象包含了服务实例的详细信息,如主机名、端口号等return discoveryClient.getInstances(serviceName);}}

6.启动本地的服务端:
在这里插入图片描述
7.启动服务注册和发现:在主应用类中,通过@EnableDiscoveryClient注解启用服务注册和发现
在这里插入图片描述

8.访问:localhost:8101/product
在这里插入图片描述
完整项目代码


本文转载自: https://blog.csdn.net/qq_43175215/article/details/136070059
版权归原作者 LSYING1 所有, 如有侵权,请联系我们删除。

“Spring Cloud使用ZooKeeper作为注册中心的示例”的评论:

还没有评论