config:
enabled: true
data-key: myconf
format: PROPERTIES
@ConfigurationProperties()
public class Config {
private String name;
缺点:不能自动更新
Consul-template
是Consul的一个方扩展工具,通过监听Consul中的数据可以动态修改一些配置文件。
https://github.com/hashicorp/consul-template
https://github.com/DingGuodong/consul-template
1.创建一个模板in.tpl来查询kv仓库
vi tmpl/in.tpl
{{ key "foo" }}
2.开始consul-template ./consul-template -template "./tmpl/in.tpl:./tmpl/out.txt" -once
3.对key赋值consul kv put foo nick
4.查看结果 cat tmpl/out.txt
nick
命令行学习: 1.
$ consul-template \
-consul demo.consul.io \ //链接consul的ui页面
-template "/tmp/template.ctmpl:/tmp/result" //模板 -> 输出
2.$ consul-template \
-consul 127.0.0.1:8500 \
-template "/tmp/template.ctmpl:/var/www/nginx.conf:service nginx restart" \
//输出到www/nginx.conf上,如果nginx.conf发生变化,nginx服务重启
-retry 30s \ //如果consul服务器不可用,每30s轮询一次服务器
-once
==>一键热部署,如果提交了代码到git,通过这个命令就可以到consul上改下某个值,完成git pull并发布,待测试。
3.使用ssl链接
$ consul-template \
-consul 127.0.0.1:8543 \
-ssl \
-ssl-cert /path/to/client/cert.pem \
-ssl-ca-cert /path/to/ca/cert.pem \
-template "/tmp/template.ctmpl:/tmp/result" \
-dry \ //不知是做啥的
-once
syntax 语法
<续>