springcloud-config组件的配置和使用
目前项目中用到的配置切换方式,是使用maven定义profile进行的,配置的修改需要重新打包,线上的节点一多,打包和部署就是一项大工程。 流行点的配置管理平台有百度的disconf ,淘宝的diamond等等。 SpringCloud微服务套件也提供了配置管理组件spring-cloud-config,基于使用中心配置仓库的思想(版本控制),支持git、svn、文件系统(不建议)。
·
目前项目中用到的配置切换方式,是使用maven定义profile进行的,配置的修改需要重新打包,线上的节点一多,打包和部署就是一项大工程。 流行点的配置管理平台有百度的disconf ,淘宝的diamond等等。 SpringCloud微服务套件也提供了配置管理组件spring-cloud-config,基于使用中心配置仓库的思想(版本控制),支持git、svn、文件系统(不建议)。
本文将介绍:
- 如何搭建spring-cloud-config server
- 如何在客户端中引入spring-cloud-config client
搭建spring-cloud-config server
config组件的服务端部署需要RabbitMQ支持,因此首先需要安装RabbitMQ。
RabbitMQ的安装
RabbitMQ的安装方式按照官方提供的步骤安装即可,测试环境是CentOS,参考安装步骤。
特别注意:
- erlang语言环境安装后,还需要安装esl-erlang-compat组件
- 可能会提示缺少组件socat,则执行如下代码安装
wget -no-cache http://www.convirture.com/repos/definitions/rhel/6.x/convirt.repo -O /etc/yum.repos.d/convirt.repo
yum makecache
yum install socat
- rabbitmq 命令行指令
- RabbitMQ安装完成后,启停的指令:
/sbin/service rabbitmq-server stop
/sbin/service rabbitmq-server start
- 查询安装路径:
rpm -ql rabbitmq-server-3.6.6-1.el6.noarch
- 配置文件自定义,将样例文本拷贝至,参考说注释调整
cp /usr/share/doc/rabbitmq-server-3.6.6/rabbitmq.config.example /etc/rabbitmq/rabbitmq.config
安装完成后,可执行插件指令后访问http://ip:15672/,通过web界面进行管理。
rabbitmq-plugins enable rabbitmq_management
默认的用户只有guest,且只能本地访问。执行以下指令增加用户,配置虚拟路径即可
rabbitmqctl add_user yoara yoara
rabbitmqctl set_user_tags yoara administrator
rabbitmqctl set_permissions -p / yoara '.*' '.*' '.*'
config server启动
下载官方案例即可。demo
需要注意的是:
- HTTP服务资源的形式:
/{application}/{profile}[/{label}]
/{application}-{profile}.yml
/{label}/{application}-{profile}.yml
/{application}-{profile}.properties
/{label}/{application}-{profile}.properties
“application”作为spring.application.name被注入到SpringApplication中,同时spring.application.name用作yml文件名称,
“profile”是一个激活的配置,或者是逗号分隔的属性列表,
“label”是一个可选的git版本,默认为master。
- 默认是git版本,如果需要支持svn引入以下代码即可。注意,svn默认是找trunk目录。在application.yml中修改:
spring:
cloud:
config:
server:
svn:
uri: https://svn
username: xxx
password: xxx
profiles:
active: subversion
在pom.xml中增加: <dependency>
<groupId>org.tmatesoft.svnkit</groupId>
<artifactId>svnkit</artifactId>
</dependency>
增加foo.properties文件,填入任意键值对。
启动服务,访问http://127.0.0.1:8888/foo/default,即可看到效果。
更多推荐
已为社区贡献2条内容
所有评论(0)