0.0.7 • Published 4 years ago
@tick-core/zconf v0.0.7
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节点配置
介绍:该节点必须有子节点
节点说明
子节点名称 | 值 |
---|---|
host | host:port【非集群模式需要配置】 |
master | host:port【集群模式需要配置: master的host】 |
slaves | slave的节点【集群模式需要配置: 该节点是个父节点】 |
database | 数据库 |
username | 用户名 |
password | 密码 |
slaves节点的子节点【集群模式需要配置】
key(保证唯一即可) | value |
---|---|
mysql1 | host: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节点配置
介绍:该节点必须有子节点
节点说明
子节点名称 | 值 |
---|---|
host | host:port |
auth | 验证信息【可选】 |
获取
const result = await zconf.getRedisConf('redis')
返回值类型
{
host: '127.0.0.1',
port: 2233,
authPass: 'uuusss'
}
获取mongo节点配置
介绍:该节点必须有子节点
节点说明
子节点名称 | 值 |
---|---|
host | host: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)