zoukankan      html  css  js  c++  java
  • 服务注册之Zookeeper

    一、Zookeeper介绍

    Zookeeper是什么

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

    二、Zookeeper应用

    2.1 安装 Zookeeper

    这里我们采用 Docker 形式安装:

    # 拉取镜像
    docker pull zookeeper:3.5    
    # 创建容器
    docker run --name zookeeper -p 2181:2181 -d zookeeper:3.5
    # 进入容器
    docker exec -it zookeeper /bin/bash 
    # 进入 zookeeper 目录   
    cd bin
    # 通过命令行打开 zookeeper
    . zkCli.sh   
    # 查看当前服务列表,可以看到只有一个 zookeeper 服务
    ls /
    [zookeeper]    
    

    2.2 创建 zookeeper-client 模块

    1. 新建 zookeeper-client 模块 添加相关依赖:
    <properties>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <spring-boot.version>2.3.0.RELEASE</spring-boot.version>
        <spring-cloud.version>Hoxton.SR4</spring-cloud.version>
    </properties>
    
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    
    1. 在配置文件 resources/application. yml 中添加相关配置:
    server:
      # 指定运行端口
      port: 8800
    
    spring:
      application:
        # 指定服务名称
        name: zookeeper-client
      cloud:
        zookeeper:
          # zookeeper服务地址
          connect-string: 192.168.205.10:2181
    
    management:
      endpoint:
        health:
          # 显示应用健康信息
          show-details: always
      endpoints:
        web:
          exposure:
            include: "*"
    
    1. 在启动类上添加 @EnableDiscoveryClient 注解
    @EnableDiscoveryClient
    @SpringBootApplication
    public class ZookeeperClientApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(ZookeeperClientApplication.class, args);
        }
    
    }
    

    4) 启动项目,进入 Zookeeper 命令行查看:

    [zk: localhost:2181(CONNECTED) 1] ls /
    [services, zookeeper]
    [zk: localhost:2181(CONNECTED) 2] ls /services
    [zookeeper-client]
    
  • 相关阅读:
    软件测试需求分析与跟踪
    应用程序通用测试技术
    测试计算机软件发展历史
    多个iframe的刷新问题
    web:div模块自适应问题
    求:多人合作代码管理的好办法
    第一天
    jQuery,选择器,选择父页面的元素
    鼠标移入移出冒泡事件解决 Jquery mouseenter和mouseleave
    jQuery DOM操作IE6兼容性
  • 原文地址:https://www.cnblogs.com/markLogZhu/p/13491873.html
Copyright © 2011-2022 走看看