【SpringCloud】Zookeeper代替Eureka

太过爱你忘了你带给我的痛 2022-11-04 05:58 200阅读 0赞

凉凉了,Eureka 2.x 停止维护,Spring Cloud 何去何从?
Eureka源码地址
在这里插入图片描述

Zookeeper代替Eureka

简单容易CentOS7 安装ZooKeeper教程地址:https://blog.csdn.net/xiangjunyes/article/details/114270903
在这里插入图片描述
Zookeeper是一个分布式协调工具,可以实现注册中心功能。
关闭了linux服务器防火墙或启动zookeeper服务器。
在这里插入图片描述

Zookeeper服务器取代eureka,zk作为服务注册中心。

我们现在的java程序在win10,注册中心zk在centos7,就要保证两台机器是互相ping通。
在这里插入图片描述

新建项目cloud-provider-payment8004
在这里插入图片描述

pom.xml

  1. <dependencies>
  2. <!-- SpringBoot整合Web组件 -->
  3. <dependency>
  4. <groupId>org.springframework.boot</groupId>
  5. <artifactId>spring-boot-starter-web</artifactId>
  6. </dependency>
  7. <dependency><!-- 引入自己定义的api通用包,可以使用Payment支付Entity -->
  8. <groupId>com.atguigu.springcloud</groupId>
  9. <artifactId>cloud-api-commons</artifactId>
  10. <version>${project.version}</version>
  11. </dependency>
  12. <!-- SpringBoot整合zookeeper客户端 -->
  13. <dependency>
  14. <groupId>org.springframework.cloud</groupId>
  15. <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
  16. <!--先排除自带的zookeeper3.5.3-->
  17. <exclusions>
  18. <exclusion>
  19. <groupId>org.apache.zookeeper</groupId>
  20. <artifactId>zookeeper</artifactId>
  21. </exclusion>
  22. </exclusions>
  23. </dependency>
  24. <!--添加zookeeper3.4.9版本-->
  25. <dependency>
  26. <groupId>org.apache.zookeeper</groupId>
  27. <artifactId>zookeeper</artifactId>
  28. <version>3.4.9</version>
  29. </dependency>
  30. <dependency>
  31. <groupId>org.springframework.boot</groupId>
  32. <artifactId>spring-boot-devtools</artifactId>
  33. <scope>runtime</scope>
  34. <optional>true</optional>
  35. </dependency>
  36. <dependency>
  37. <groupId>org.projectlombok</groupId>
  38. <artifactId>lombok</artifactId>
  39. <optional>true</optional>
  40. </dependency>
  41. <dependency>
  42. <groupId>org.springframework.boot</groupId>
  43. <artifactId>spring-boot-starter-test</artifactId>
  44. <scope>test</scope>
  45. </dependency>
  46. </dependencies>

添加application.yml

  1. server:
  2. port: 8004
  3. spring:
  4. application:
  5. name: cloud-provider-payment
  6. cloud:
  7. zookeeper: 192.168.235.128:2181

主启动类

  1. package com.xiang.springcloud;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4. import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
  5. @SpringBootApplication
  6. @EnableDiscoveryClient
  7. public class PaymentMain8004 {
  8. public static void main(String[] args) {
  9. SpringApplication.run(PaymentMain8004.class,args);
  10. }
  11. }

在这里插入图片描述
启动zkCli.sh
在这里插入图片描述
现在只有zookeeper结点
在这里插入图片描述
在这里插入图片描述
启动微服务PaymentMain8004

结果启动失败
错误界面截图
在这里插入图片描述

这是为什么了?
jar包版本冲突
服务器zookeeper版本为3.6.2 java程序为3zookeeper版本为.5.2

解决办法
在这里插入图片描述
重新启动
在这里插入图片描述
在这里插入图片描述解析json
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

是临时结点还是永久结点

在这里插入图片描述

现在停掉payment8004服务
在这里插入图片描述
停止服务后, 在心跳结束后, zookeeper把节点删除
重新启动后, zookeeper会产生一个该服务的新流水号
使用cp思想, 保持数据一致性.
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,200人围观)

还没有评论,来说两句吧...

相关阅读