天天看点

最简单的apollo分布式配置中心使用体验

最近在学习使用apollo,发现有不少优点,使用这个产品可以取代之前查表的方式去获取生产环境中动态设置的系统参数。这样就减少了数据库的访问次数。

同时apollo也在本机如下位置生成一个存储配置值的文件。该文件名由appid+cluster+namespace三者的名字拼接而成。

最简单的apollo分布式配置中心使用体验

使用方式多种多样,而且较为方便。我是采用的这种属性获取方式。

@Value("${poolSize:100}")

public String pollSize;

以下是用来测试的main方法

public static void main(String[] args) {

System.setProperty(“env”, “DEV”);

System.setProperty(“app.id”, “2019080101”);

System.setProperty(“apollo.cluster”, “default”);

System.setProperty(“apollo.meta”, “http://192.168.8.129:8080”);

Config config = ConfigService.getAppConfig(); //config instance is singleton for each namespace and is never null

String someKey = “dataSize”;

String someDefaultValue = “1000”;

String value = config.getProperty(someKey, someDefaultValue);

System.out.println(“poolSize大小是:”+value);

config.addChangeListener(new ConfigChangeListener() {

@Override

public void onChange(ConfigChangeEvent changeEvent) {

System.out.println("Changes for namespace " + changeEvent.getNamespace());

for (String key : changeEvent.changedKeys()) {

ConfigChange change = changeEvent.getChange(key);

System.out.println(String.format(“Found change - key: %s, oldValue: %s, newValue: %s, changeType: %s”, change.getPropertyName(), change.getOldValue(), change.getNewValue(), change.getChangeType()));

}

}

});

// while (true) {

//

// }

}

继续阅读