UNPKG

eureka-config-client

Version:
69 lines (48 loc) 2.38 kB
const EurekaClient =require('./eurekaClient'); const _ = require('lodash'); const inflection = require( 'inflection' ); class EurekaClientConfig { constructor(appName,config,heartbeatInterval = 30000,registryFetchInterval = 30000) { //console.log('EurekaClientConfig->constructor ' ); this.eurekaClient = new EurekaClient(appName,null,config.server.port,config.server.domain ,config.eurekaServer.host,config.eurekaServer.port,this.refreshConfig,this,[config],heartbeatInterval,registryFetchInterval); }; async registerService() { return await this.eurekaClient.registerService(); }; refreshConfig(enurekaClient,config) { /** 2018/8/8 暂时屏蔽刷新CONFIG信息,因为目前没有用途。 lpy-modifyed */ return; let eurekaApps = enurekaClient.getAllInstances(); console.log('refreshConfig data eurekaApps:' + JSON.stringify(eurekaApps,null,2)); _.keys(eurekaApps).map(appName=>{ let appInsts = eurekaApps[appName]; let keyName = inflection.camelize(appName.toLowerCase()); if(config[keyName] && appInsts.length > 0) { console.log(`refreshConfig keyName:${keyName},config host:${config[keyName].host},eureka host:${appInsts[0].vipAddress}`); for(let i = 0;i < appInsts.length;i++) { if(!_.isEqual(config[keyName].host,appInsts[i].vipAddress)) { console.log(`update ${keyName} from eureka server ,old Host:${config[keyName].host},new Host:${appInsts[i].vipAddress}`); config[keyName].host = appInsts[i].vipAddress; } if(!_.isEqual(config[keyName].port,appInsts[i].port)) { console.log(`update ${keyName} from eureka server ,old port:${config[keyName].port},new port:${appInsts[i].port}`); config[keyName].port = appInsts[i].port; } } } }); //config.redis.db =1; }; } module.exports = EurekaClientConfig; /* console.log(inflection.underscore('MenuServer')); console.log(inflection.camelize('menu_server'));*/