SpringCloud-Zookeeper注册中心
·
开发环境
开发工具:IDEA 2021.3.2
JDK版本:JDK1.8
Maven版本:Maven3.8
Zookeeper版本:zookeeper-3.5.10
SpringCloud版本:Hoxton.SR12
SpringBoot版本:2.3.12.RELEASE
创建Zookeeper注册中心
点击链接下载Zookeeper
https://downloads.apache.org/zookeeper/zookeeper-3.5.10/apache-zookeeper-3.5.10-bin.tar.gz
解压缩apache-zookeeper-3.5.10-bin.tar.gz
进入conf目录,复制zoo_sample.cfg并重命名为zoo.cfg
进入bin目录下,点击zkServer.cmd启动zk服务
点击zkCli.cmd进入zk客户端查看内容
创建父工程
创建Maven工程,命名为spring-cloud-2022-zk
删除src目录
配置依赖
①导入Spring Cloud依赖
<dependencyManagement> <dependencies> <!--SpringCloud 依赖--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Hoxton.SR12</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>②导入Spring Boot依赖
<!--SpringBoot 依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.3.12.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency>
创建服务提供者
在父工程里面创建maven模块,命名为cloud-provider8001
①导入依赖
<dependencies> <!--springboot依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <!--zookeeper 依赖--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId> </dependency> </dependencies>②创建application.yml配置文件
server: port: 8001 spring: application: name: cloud-provider cloud: zookeeper: connect-string: localhost:2181 #zookeeper地址端口号③创建启动类,添加@EnableDiscoveryClient注解
@EnableDiscoveryClient @SpringBootApplication public class Provider8001 { public static void main(String[] args) { SpringApplication.run(Provider8001.class, args); } }④创建controller
@RestController @RequestMapping("provider") public class ProviderController { @GetMapping("getUUID") public String getUUID() { return UUID.randomUUID().toString(); } }测试
①依次启动zkServer.cmd,zkCli.cmd,cloud-provider8001
②zkCli查看已启动的服务
③访问http://localhost:8001/provider/getUUID
创建服务消费者
在父工程里面创建maven模块,命名为cloud-consumer80
①导入依赖
<dependencies> <!--springboot依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <!--zookeeper 依赖--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId> </dependency> </dependencies>②创建application.yml配置文件
server: port: 80 spring: application: name: cloud-consumer cloud: zookeeper: connect-string: localhost:2181③创建启动了,添加@EnableDiscoveryClient注解
@EnableDiscoveryClient @SpringBootApplication public class Consumer80 { public static void main(String[] args) { SpringApplication.run(Consumer80.class, args); } }④创建ApplicationContextConfig类
@Configuration public class ApplicationContextConfig { @Bean @LoadBalanced public RestTemplate getRestTemplate() { //RestTemplate注入到spring容器中 return new RestTemplate(); } }⑤创建controller,实现远程调用
@RestController @RequestMapping("consumer") public class ConsumerController { // 服务提供者的名字(spring.application.name) private static final String URL = "http://cloud-provider"; @Autowired private RestTemplate restTemplate; @GetMapping("getUUID") public String getUUID() { return restTemplate.getForObject(URL + "/provider/getUUID", String.class); } }测试
①依次启动zkServer.cmd,zkCli.cmd,cloud-provider8001,cloud-consumer80
②zkCli查看已启动的服务
③访问 http://localhost/consumer/getUUID 进行远程调用
更多推荐










所有评论(0)