【SpringCloud】Zookeeper代替Eureka

凉凉了,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


    <dependencies>
        <!-- SpringBoot整合Web组件 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency><!-- 引入自己定义的api通用包,可以使用Payment支付Entity -->
            <groupId>com.atguigu.springcloud</groupId>
            <artifactId>cloud-api-commons</artifactId>
            <version>${project.version}</version>
        </dependency>
        <!-- SpringBoot整合zookeeper客户端 -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
            <!--先排除自带的zookeeper3.5.3-->
            <exclusions>
                <exclusion>
                    <groupId>org.apache.zookeeper</groupId>
                    <artifactId>zookeeper</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!--添加zookeeper3.4.9版本-->
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.4.9</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
   

添加application.yml

server:
  port: 8004


spring:
  application:
    name: cloud-provider-payment
  cloud:
    zookeeper: 192.168.235.128:2181
      

主启动类

package com.xiang.springcloud;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

@SpringBootApplication
@EnableDiscoveryClient
public class PaymentMain8004 {
    public static void main(String[] args) {
        SpringApplication.run(PaymentMain8004.class,args);
    }
}

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

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

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

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

是临时结点还是永久结点

在这里插入图片描述

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值