Zookeeper服务注册与发现

由于Eureka现在已经停更了,所以现在大多数公司都选择了Zookeeper和Consul来作为注册中心,这篇博客先来带大家上手Zookeeper,下一篇再介绍Consul的使用。依旧声明一下,此博客只是自己看阳哥b站的2020微服务视频结合他的脑图整理的笔记,有兴趣的可以直接去看视频学习,当然我相信你看完没过多久就会忘记的,还是自己跟着动手操作一遍吧,记一记知识点。好的,废话不多说,咱开始进入正题。

 

注册中心Zookeeper

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

 

Zookeeper在Windows上安装步骤

这里给大家介绍Zookeeper在windows的安装,简单上手:

安装包可直接在官网下载:http://zookeeper.apache.org/,当然欢迎留言私聊,我可以私发给你

1.直接解压安装,我的安装路径是D:\Application\zookeeper-3.4.11

2.自己再额外建一个data和log目录

3.在conf文件夹下复制一份Zoo_sample.cfg文件,改名为zoo.cfg,如下图:

4.修改zoo.cfg配置如下:(配置刚刚建的数据和日志路径)

5.启动bin下的zkSercer.cmd

 

spring cloud整合zookeeper

新建一个服务,结构如下:

pom依赖:(我这里排除了springCloud自带的3.5.3版本,还有日志冲突)不排除会报错

<!--zookeeper-client-->
        <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>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
            </exclusions>
            <version>3.4.11</version>
        </dependency>

application.yml(zookeeper默认端口2181)

主启动类:

package com.atguigu.springcloud;

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

/**
 * @Desc
 * @Author chenjiaming
 * @Date 2020/9/13 11:29
 */
@SpringBootApplication
@EnableDiscoveryClient  //该注解用于向使用consul或者zookeeper作为注册中心时注册服务
public class PaymentMain8004 {

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

Controller:

package com.atguigu.springcloud.controller;

import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.UUID;

/**
 * @Desc
 * @Author chenjiaming
 * @Date 2020/9/13 11:32
 */
@RestController
@Slf4j
public class PaymentController {

    @Value("${server.port}")
    private String serverPort;

    @RequestMapping(value = "/payment/zk")
    public String paymentZk() {
        return "springCloud with zookeeper: "+serverPort+"\t"+ UUID.randomUUID().toString();
    }
}

启动测试:

zkServer中

我们可以在zkServer中查看这个注册的服务信息:

启动一个客户端输入如下命令即可看见:

好的,zookeeper的安装与Spring cloud的整合就介绍到这了,是不是觉得没有图形化界面呢?当然有些公司会自己开发对应图形化界面。我们下篇介绍的Consul就是自带图形化界面的,并且简洁好看。

 

如有疑问,欢迎留言评论。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值