Meteor-zookeeper使用说明书

Meteor-zookeeper使用说明书

项目地址:

Meteor-zookeeper-core  https://github.com/18106960985/meteor-zookeeper 是一个对zookeeper操作的集成方案,其核心设计目的 - 对内高对内聚、无入侵, 采用fastjson序列化与反序列化,内置了数据本地缓存,实现节点监听

对外开箱即用、易扩展、轻量级,提供丰富API方法,它可以帮助你快速的管理zookeeper。

Meteor-zookeeper-admin  采用了居说是最新的前端技术栈的 vue-element-ui 这里就不做更多阐述,在需要自定义UI的情况下请自行查看该项目说明

缩略图 

 

目录

1. 前言 1

1.1. 编写的目的 1

1.2. 系统架构图 2

1.3. 数据结构图 3

2. 术语和定义、缩略语 3

2.1. 缩略语 3

3. Zk-CORE说明 4

3.1. 数据类型 4

3.2. Zk-core 4

3.3. ZKUtils 5

3.4. AppConfig 5

3.5. Initializer (Curator实例) 6

3.6. TreeCacheInitialize (ZNode监听器) 6

4. admin-zookeeper-ui说明 7

4.1.1. 项目技术简介 7

4.1.2. 主要组件说明 7

  1. 前言
    1. 编写的目的

  当你的应用程序以分布式的形式被实现的时候,服务之间的错误和竞争是不可避免的,这使得它们在变化的存在下变得十分脆弱并难以管理,及时正确的执行了,这些服务也会应为管理的复杂性而增加不必要的精力,那么为什么不将这些交给Zookeeper?它能提供:维护配置信息,域名服务,分布式同步和组服务!

curator-web用于获取服务不同环境下的配置信息,对数据进行本地化并保证其数据与服务器同步,web上提供了可视化操作管理ZK,减少了部署时候修改配置的操作以及配置信息同步

    1. 系统架构图

 

meteor-curator架构图

 

 

 

    1. 数据结构图
znode

Znode的结构是一个类似文件目录的树结构

  1. 术语和定义、缩略语
    1. 缩略语

下列缩略语适用于本文件。

ZK——分布式协调应用(Zookeeper)

WEB——Zookeeper 视图管理工具(Admin-we)

CORE——核心依赖JAR。(Zk-core)

UI——前端视图文件(admin-zookeeper-ui)

 

  1. Zk-CORE说明
    1. 数据类型

存储在Znode上的数据类型对应见 表 1:

表 1 数据类型

数据类型

示例

描述及要求

MAP

Key1=value

Key2=value

key = value 格式,键值对之间使用换行符进行拆分

LIST

1

2

3

数组之间使用换行符进行拆分

STRING

string字符串

UTF8 编码,若无数据,置空 其他基本类型一致

YAML

#zk 的目录监听
key: value

请使用yml格式

PROPERTIES

 

Key2.xxx=value

请使用properties文件格式

JSON

{key : value}

请使用json 数据格式

 

    1. Zk-core

 core是分布式集群服务依赖jar

Maven引入

<dependency>
   <groupId>meteor-curator</groupId>

   <artifactId>curator-core</artifactId>
   <version>0.0.1-SNAPSHOT</version>
</dependency>

API简介见 表 1:

表 1 API简介

类名

描述

ZKUtil

提供基础的增删改查方法,包含持久化操作

ZKNode

znode数据模型

Initializer

Curator clinet实例

TreeCacheInitialize

zNode 监听实例,需要要配置config/spring/zk.yml

AppConfig

对外提供的接口方法

 

    1. ZKUtils

 

ZkUtils 封装了对zk的具体操作方法,该操作都会将数据保存至磁盘 说明见表2:

表 2 ZkUtils主要方法

 方法

描述及参数说明

tree

获取znode 树形结构模型 (path 可选节点,null默认为根节点)

setData

新增或者修改节点数据 (Path 节点 data 节点数据)

getData

获取zk节点值 (path 节点路径)

remove

 移除zk节点 path节点

getYml

封装了getData方法,获取节点数据并转换成yml 对象

 

示例:

//该方法能获取整个znode 并且会缓存在本地磁盘

ZKNode zkNode = ZKUtil.tree(null);

//该方法能获取到存储在zookeeper 的yml格式数据对象

Yaml ymlConfig = ZKUtil.getYaml("/xxxx", Yaml.class);

//setData 方法能改变ZK服务上的节点数据 ,

String path ="/module/admin/urls";

//这是一个map类型 的数据结构
String data = "maven=http//:maven.test.net.cn:88";
ZKUtil.setData(path,data);

    1. AppConfig

AppConfig 在ZKUtils的基础上提供给对外的接口,并提供更多复合类型的转换 见表3

表 3 AppConfig

方法

描述及参数说明

getItemValue

获取zk的节点数据优先从缓存中读取 (key 节点路径 ,clazz 返回的类型 包含基本类型以及MAP LIST 和bean类)

getProp

获取zk的节点的properties 数据优先从缓存中读取 (key 节点路径 ,clazz 返回 类型)

getMap

获取zk的节点的Map数据优先从缓存中读取 (key 节点路径 ,clazz 返回 类型)

getJson

获取zk的节点的JSON数据优先从缓存中读取 (key 节点路径 ,clazz 返回 类型)

 

示例:

String path ="/module/admin/urls";
//默认返回String 类型
 String str =  AppConfig.getItemValue(path);
 //选择返回Map类型
 Map<String,String> params = AppConfig.getItemValue(path,Map.class);

 

    1. Initializer (Curator实例)

 zk-core与ZK交互是采用了TCP协议。Initializer是curator client的实例

 

Initializer是curator client的生命周期控制类 表 1:

表 1 Initializer

方法

描述及要求

init

建立连接并获得到zookeeper实例

close

关闭连接

reInit

Client 重启

 

详细请看代码

    1. TreeCacheInitialize (ZNode监听器)

当ZK服务器更改数据的时候,我们需要监听变动并及时更新 treeCache做的就是这件事情。默认不启用

要求: 启用需要引入meteor.yml  请放置在resource下  

配置示例:

#zk监听配置 注意!!该数据格式为数组形式
rootPath:
              #监听根节点 监听全部子节点
              - /
              #监听test 及test全部子节点
              - /test

说明:

ZK_ROOT_PATHS 是配置的属性KEY ,其数据是为数组类型

  1. meteor-curator-admin说明
      1. 项目技术简介

  Admin-Zookeeper-ui是使用开源项目vue-element-admin搭建,使用的是以vue为主体技术的vue-element-ui组件。

 

 

      1. 主要组件说明

Admin-Zookeeper-ui 主要组件说明见表1

表 1 主要组件

组件

描述及使用到的地方

axios

VUE所推荐的类ajax请求组件,负责HTTP协议请求。

Vue-router

 针对前端的路径路由组件,与axios实现动态路由,以及前端路由拦截器。

Vuex

vue的全局变量,与cookies结合实现多种状态管理

其他项目使用的图床

MChat

 

抱歉,我无法回答关于Zookeeper说明书问题,因为我没有提供相关的引用内容。但是,你可以参考引用\[1\]和引用\[2\]中提到的资源,了解如何启动和管理Zookeeper,以及使用Meteor-zookeeper-core进行操作。同时,你也可以查阅Zookeeper的官方文档和其他相关资料来获取更详细的信息。 #### 引用[.reference_title] - *1* [zookeeper安装使用手册](https://blog.csdn.net/hangdongyao/article/details/82147772)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Meteor-zookeeper使用说明书](https://blog.csdn.net/qq_16882073/article/details/83622399)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [zookeeper工具书 - (zkCli常用命令 + 四字命令)](https://blog.csdn.net/programmer_trip/article/details/126573928)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值