config配置中心之自动刷新

自动刷新(自动刷新是基于springcloudbus来实现的,springcloud bus是基于rabbitMQ或者Kafka来实现的)

Spring Cloud Bus 将分布式的节点用轻量的消息代理连接起来。它可以用于广播配置文件的更改或者服务之间的通讯,也可以用于监控。本文要讲述的是用Spring Cloud Bus实现通知微服务架构的配置文件的更改,即实现配置中心的自动刷新和批量更新。

这里选择rabbitMQ:为什么呢,它是pivotal的产品:

以下几个都是他们家的,还是很强大的。

rabbitMQ是基于Erlang语言开发的。,所以要安装rabbitMQ这里要安装Erlarng语言,erlang语言的并发性很好。

下载erlang语言:http://www.erlang.org/downloads

下载RabbitMQ:http://www.rabbitmq.com/download.html

先安装erlang,然后再安装rabbitMQ.

配置RabbitMQ的操作界面:

找到开始菜单上面的

然后运行,到RabbitMQ的sbin中执行:

也可以将sbin作为环境变量配置在电脑上。

配置好了之后,重启MQ服务

,然后访问:localhost:15672,即可访问界面:账号和密码都是guest

 完成了上面的配置之后,我们如何使用呢?

建立一个微服务,连接RabbitMQ:添加依赖和配置:

有时候不加Version这个依赖加载不了,所以注意这一点吧。

添加配置:

这样就配置完成,可以连接mq了。

那么如何实现半自动化更新呢?

这里还是利用链接的方式:

http://localhost:3435/bus/refresh来实现配置的更新。

自动化的更新方式是这样子的,需要在仓库中配置:

打开某个仓库,点击管理:

这里有个webhook:

然后打开:

这样就可以实现自动更新了,即每次push之后都会更新配置。

服务追踪配置:

利用http://localhost:3535/refresh发送post请求后,返回查看rabbitMQ

已经更新。

可是目前在生产环境中,还是需要重启一下,有时候没有自动刷新,为了保证配置的刷新,我们直接重启应用用的比较多。

周立博客关于这块的介绍:

http://www.itmuch.com/%2Fspring-cloud%2Fspring-cloud-bus-auto-refresh-configuration%2F

原文地址:https://www.cnblogs.com/fengli9998/p/8554546.html