SpringCloud服务注册与发现之Zookeeper

zookeeper是一个分布式协调工具,可以实现注册中心功能
使用时关闭Linux服务器防火墙后启动zookeeper服务器
zookeeper服务器取代Eureka服务器,zookeeper作为服务注册中心

将一个服务提供者注册进zookeeper服务中心

①在服务提供者的pom文件中添加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.11-->
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.4.11</version>
        </dependency>

这里比如说Linux服务器上面部署的是zookeeper3.4.11版本,因为zookeeper默认自带3.5.3,这样会造成版本冲突报错,所以应排除自带的版本,手动引入3.4.11版本
②然后在服务提供者的yml文件里添加zookeeper的相关配置

#8004表示注册到zookeeper服务器的支付服务提供者端口
server:
  port: 8004

#服务别名---注册zookeeper到注册中心名称
spring:
  application:
    name: cloud-provider-payment
  cloud:
    zookeeper:
      connect-string: 127.0.0.1:2181

③最后在服务提供者的启动类上添加@EnableDiscoveryClient即可
至此,一个端口为8004的服务提供者就注册到了zookeeper的注册中心上了。

zookeeper和Eureka不同,它没有提供保护机制,
当在一定的心跳时间内检测不到服务提供者后,便会立刻杀死该服务;
当服务再次注册时会以一个新的服务形式注册到zookeeper中

将一个消费者注册进zookeeper服务注册中心

消费者的注册方法和服务提供者几乎一样,pom文件的引入和服务提供者一样;
yml的配置方式也一样;
消费者调动服务提供者的方式很多,比如用RestTemplate,Ribbon,Feign等等;
实际开发中用zookeeper做集群的很少

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值