场景:在微服务开发中很多连接DB的多种配置大多都在application.properties 或者是 application.yml 中,这个方式的弊端有如下:
1:每次迭代都需要把不变的配置文件放到工程中打包,繁琐
2:生产环境的配置 暴露在代码中 一旦有 代码泄漏 配置文件中的信息就泄漏了,安全性没保障
解决方案: 使用 Consul做配置中心
使用非代码配置实验了好久 就是没法获取 kv
于是乎使用 java 代码来获取 Consul 直接获取 kv 中的数据 ,客户端的代码如下
ConsulClient consulClient=new ConsulClient(host,port); System.out.println( consulClient.getKVValue("url").getValue().getDecodedValue());
注意: 使用 getDecodedValue 来进行解码 ()
编码的源码如上图 :通过该方法 对原始数据进行解码