@tdit/node-shutter
v1.0.0
Published
node版shutter
Downloads
1
Readme
安装
首选需要指定 npm仓库为内部仓库 registry.npm.tongdun.cn 然后执行npm install @td/node-shutter 或 yarn add @td/node-shutter
配置说明
- hostList shutter服务地址,多个用逗号隔开,可选值见shutter首页
- application 配置所属应用
- group 配置所属分组
- environment 配置所属环境,默认dev,可选值见shutter首页
- SecretKey 密钥,申请入口见https://my.tongdun.cn/#/accesskey
- AccessKey 密钥,申请入口见https://my.tongdun.cn/#/accesskey
- watchIntervalTime 定时更新配置间隔时间,单位ms, 默认30000ms,开启监听远端配置文件时生效
API说明
- addProperties(app: string, locations: string[]) 添加需要读取的shutter配置,locations指文件名
- addWatch(app: string, handle: () => void) 监听文件变化
- getProperty(key: string) 根据key值获取shutter配置项值
- fetchRemoteData() 读取远端配置,通常在addProperties添加完所有需要读取的配置后,一次获取远端配置即可
使用示例
const Shutter = require('@td/node-shutter').default;
const shutter = new Shutter({
hostList: '10.57.17.39:8188',
application: 'test',
group: 'DEFAULT_GROUP',
environment: 'dev',
SecretKey: 'SecretKey',
AccessKey: 'AccessKey'
});
// 添加需要读取的配置
shutter.addProperties('jdbc', ['jdbc.octopus-box.properties', 'jdbc.octopus-gaea.properties']);
shutter.addProperties('redis', ['redis.octopus-screen.properties']);
// 读取远端配置,应用启动后只需要调用一次即可
shutter.fetchRemoteData();
// 监听远端配置变化
shutter.addWatch('jdbc'); // 目前仅支持监听整个应用的所有文件
// 取出某个配置的值
shutter.getProperty('octopus-screen.redis.namespace') // 值为shutter上配置的octopus-screen
说明 配置文件会在本地缓存一份,当shutter服务端不可用时,会使用本地缓存