第三章、注册中心-Zookeeper

3.1、注册中心概述

对于服务提供方,它需要发布服务,而且由于应用系统的复杂性,服务的数量、类型也不断膨胀;对于服务消费方,它最关心如何获取到它所需要的服务,而面对复杂的应用系统,需要管理大量的服务调用。

而且,对于服务提供方和服务消费方来说,他们还有可能兼具这两种角色,即需要提供服务,有需要消费服务。 通过将服务统一管理起来,可以有效地优化内部应用对服务发布使用的流程和管理。服务注册中心可以通过特定协议来完成服务对外的统一。Dubbo 提供的注册中心有如下几种类型可供选:

1)、Multicast 注册中心: 组播方式
2)、Redis 注册中心: 使用 Redis 作为注册中心
3)、Simple 注册中心: 就是一个 dubbo 服务。作为注册中心。提供查找服务的功能。
4)、Zookeeper 注册中心: 使用 Zookeeper 作为注册中心
5)、推荐使用 Zookeeper 注册中心。

3.2、注册中心工作方式

在这里插入图片描述

3.3、Zookeeper 注册中心

Zookeeper 是一个高性能的,分布式的,开放源码的分布式应用程序协调服务。简称 zk。Zookeeper 是翻译管理是动物管理员。可以理解为 windows 中的资源管理器或者注册表。他是一个树形结构。这种树形结构和标准文件系统相似。ZooKeeper 树中的每个节点被称为Znode。和文件系统的目录树一样,ZooKeeper 树中的每个节点可以拥有子节点。每个节点表示一个唯一服务资源。Zookeeper 运行需要 java 环境。

3.3.1、下载安装文件

官网下载地址: http://zookeeper.apache.org/
在这里插入图片描述
进入官网地址,首页找到下载地址,最新版本 3.5.4

https://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.gz

在这里插入图片描述

3.3.2、安装配置 Zookeeper

A、Windows 平台 Zookeeper 安装,配置

下载的文件 zookeeper-3.5.4-beta.tar.gz. 解压后到目录就可以了,例如 d:/servers/ zookeeper-3.5.4

修改 zookeeper-3.5.4/conf/ 目录下配置文件

在这里插入图片描述

复制 zoo-sample.cfg 改名为 zoo.cfg

文件内容:
文件内容:

  1. tickTime: 心跳的时间,单位毫秒. Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。表明存活状态
  2. dataDir: 数据目录,可以是任意目录。存储 zookeeper 的快照文件、pid 文件,默认为
    /tmp/zookeeper,建议在 zookeeper 安装目录下创建 data 目录将 dataDir 配置改为/usr/local/zookeeper-3.4.10/data
  3. clientPort: 客户端连接 zookeeper 的端口,即 zookeeper 对外的服务端口,默认为 2181

配置内容:

  1. dataDir : zookeeper 数据的存放目录
  2. admin.serverPort=8888

原因:zookeeper 3.5.x 占用 8080

B、 Linux 平台 Zookeeper 安装、配置

Zookeeper 的运行需要 jdk。使用前 Linux 系统要安装好 jdk

①:上传 zookeeper-3.5.4-beta.tar.gz.并解压,执行命令:tar -zxvf zookeeper-3.5.4-beta.tar.gz. -C /usr/local/

②:配置文件在 zookeeper 的 conf 目录下,
将 zoo_sample.cfg 改名为 zoo.cfg,cp zoo_sample.cfg zoo.cfg
zookeeper 启动时会读取该文件作为默认配置文件。
进入 zookeeper 目录下的 conf
拷贝样例文件 zoo-sample.cfg 为 zoo.cfg

在这里插入图片描述

③:启动 Zookeeper
启动(切换到安装目录的 bin 目录下):./zkServer.sh start

在这里插入图片描述

④:关闭 Zookeeper
关闭(切换到安装目录的 bin 目录下):./zkServer.sh stop

在这里插入图片描述

3.4、改造 Dubbo项目(使用 Zookeeper方式实现)

1)、dubbo官方推荐使用的一个模式,将实体bean和业务接口存放到接口工程中

  1. 创建一个maven 普通Java工程
  2. 创建一个实体bean查询的结果
  3. 提供一个服务接口:xxxx

2)、服务的提供者

  1. 创建一个maven web工程:服务的提供者
  2. 创建一个实体bean查询的结果
  3. 实现这个服务接口:xxxxImpl
  4. 配置dubbo服务提供者的核心配置文件
    a. 声明dubbo服务提供者的名称:保证唯一
    b. 声明dubbo使用的协议和端口号
    c. 指定注册中心地址和端口号
    d. 暴露服务,使用直连方式
  5. 添加监听器
  6. 导入接口工程的jar到工程中

配置dubbo服务提供者的pom文件所需要的依赖如下:

<dependencies>
        <!--Spring依赖-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.3.16.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>4.3.16.RELEASE</version>
        </dependency>

        <!--Dubbo依赖-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>dubbo</artifactId>
            <version>2.6.2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值