本章内容主要使用Spring Cloud Config来启动一个配置中心服务,通过Spring Cloud Bus消息总线(依赖rabbitmq)和Git仓库(Gitee)Webhook钩子函数来实现配置的自动更新(push新的配置到gitee仓库时触发)
安装rabbitmq
yum安装
惯例先贴官网链接
https://www.rabbitmq.com/install-rpm.html
就是官网这安装教程写的太乱太复杂,看着头疼
我们来个简单粗暴的,少走弯路
# 配置epel,相当于添加了一个第三方源
yum install epel-release -y
# 安装rabbit-server 服务端必须的
yum install rabbitmq-server -y
# 启动
rabbitmq-plugins enable rabbitmq_management
systemctl start rabbitmq-server
# 开机自启
systemctl enable rabbitmq-server
记得还是放通防火墙
rabbitmq默认监听端口5672,rabbitmq的控制台端口15672
浏览器访问 http://ip:15672,ok你的rabbitmq已经起来了
ps:至于为什么我访问的是localserver,配置下/etc/hosts文件,这个不用说吧
配置rabbitmq service
惯例应该是配置service让rabbitmq开机自启,方便我们调试。
rabbitmq的service是直接安装好的,我们看下他的配置:
[Unit]
Description=RabbitMQ broker
After=syslog.target network.target
[Service]
Type=notify
User=rabbitmq
Group=rabbitmq
WorkingDirectory=/var/lib/rabbitmq
ExecStart=/usr/lib/rabbitmq/bin/rabbitmq-server
ExecStop=/usr/lib/rabbitmq/bin/rabbitmqctl stop
[Install]
WantedBy=multi-user.target
想详细了解linux service的查看这篇blog https://blog.51cto.com/u_15077561/4163501
SpringCloudConfig实现
Spring Cloud Config的代码就需要我们手动实现一下了,不过也就是改改配置文件,starter已经帮我们做了所有事情
首先我们需要一个git仓库管理配置文件
Spring Cloud Config依赖git仓库进行配置文件管理
申请一个git仓库,这个不用多说,为了国内访问方便直接用gitee https://gitee.com/
然后创建一个仓库,创建一个config目录,创建一个配置文件,比如文件名就叫config-pro.yml
配置随便写一写,如下:
app:
version: pro2
server:
port: 80
spring:
rabbitmq:
host: localserver
port: 5672
username: guest
password: guest
datasource:
url: jdbc:mysql://127.0.0.1/scexample?useUnicode=true