0.0.7 • Published 4 years ago

@tick-core/zconf v0.0.7

Weekly downloads
-
License
ISC
Repository
-
Last release
4 years ago

tick-core-zconf: zookeeper conf client

介绍:对node-zookeeper-client进一步的封装

下载

npm install @tick-core/zconf

使用

创建Zconf对象

import {
  Zconf,
  ZconfConfig,
  MysqlConfig,
  MysqlMasterSlaveConfig,
  RedisConfig,
  MongoConfig,
} from '@tick-core/zconf'
const zconfConfig: ZconfConfig = {
  zookeeperConfs: [
    {
      host: '127.0.0.1',
      port: 2181,
    }
  ],
  conf: {
    app: '/app/app1',
    mysql: '/mysql',
    mysql2: '/mysql2',
    redis: '/redis',
    mongo: '/mongo'
  },
  cache: true, // 是否使用缓存【默认:开启】
  retries: 3, // 获取节点数据失败的后重试次数【默认:3次】
}
const zconf = new Zconf(zconfConfig)

获取普通节点

介绍:该节点没有子节点,它对应的是一个值

获取

const result = await zconf.getData('app')

返回值类型

string

获取mysql节点配置

介绍:该节点必须有子节点

节点说明

子节点名称
hosthost:port【非集群模式需要配置】
masterhost:port【集群模式需要配置: master的host】
slavesslave的节点【集群模式需要配置: 该节点是个父节点】
database数据库
username用户名
password密码

slaves节点的子节点【集群模式需要配置】

key(保证唯一即可)value
mysql1host:port

获取

const result = await zconf.getMysqlConf('mysql')

返回值类型

{ database: 'db1',
  username: 'username1',
  password: 'password1',
  host: '127.0.0.1',
  port: 8888 
}

{ database: 'db2',
  username: 'username2',
  password: 'password2',
  master: { host: '127.0.0.1', port: 3344 },
  slaves: [ 
    { host: '127.0.0.2', port: 7788 },
    { host: '132.1.1.2', port: 7799 } 
  ] 
}

获取redis节点配置

介绍:该节点必须有子节点

节点说明

子节点名称
hosthost:port
auth验证信息【可选】

获取

const result = await zconf.getRedisConf('redis')

返回值类型

{ 
  host: '127.0.0.1',
  port: 2233,
  authPass: 'uuusss'
}

获取mongo节点配置

介绍:该节点必须有子节点

节点说明

子节点名称
hosthost:port【or: host】
database数据库
username用户名
password密码

获取

const result = await zconf.getMongoConf('mongo')

返回值类型

{ 
  host: '127.0.0.1',
  db: 'database1',
  username: 'username1',
  password: 'password1',
  port: 3342 
}

根据路径获取节点

import {
  Zconf,
  ZconfConfig,
  MysqlConfig,
  MysqlMasterSlaveConfig,
  RedisConfig,
  MongoConfig,
} from '@tick-core/zconf'
const zconfConfig: ZconfConfig = {
  zookeeperConfs: [
    {
      host: '127.0.0.1',
      port: 2181,
    }
  ],
  cache: true, // 是否使用缓存【默认:开启】
  retries: 3, // 获取节点数据失败的后重试次数【默认:3次】
}
const zconf = new Zconf(zconfConfig)
let result = await zconf.getConf('/app/app1')
console.log(result)