本篇基于上一篇写的, 在git上更改配置后, eureka-client如何更新.

我们只需要在配置文件中配置 spring-cloud-starter-bus-amqp;

这就是说我们需要装rabbitMq;

一定要先安装erlang, 成功后再安装rabbitmq. 切记

1. 先去下载erlang, 我的电脑是64位的,下载的是OTP 21.3 Windows 64-bit Binary File.

2. 点击rabbitmq下载. 至于怎么使用 rabbitmq, 搜索引擎下.

安装成功后, 启动rabbitmq, 如下

或则cmd到安装你的rebbitmq目录, 到sbin的目录, 然后输入rabbitmq-plugins enable rabbitmq_management

看到如下的打印,可以说明rabbitmq运行成功了.

然后浏览器打开http://localhost:15672, 用户名和密码都是guest, 界面如下

说明启动成功. 下面开始改造config-server和eureka-client项目.

分别在config-server和eureka-client项目里的pom.xml添加如下配置

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

然后在config-server的application.yml文件内容如下:

eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
server:
port: 8765
spring:
application:
name: config-server
cloud:
config:
server:
git:
          uri: https://github.com/xxx 你的git仓库地址
searchPaths: repos
username: 你的git用户名
password: 你的git密码
label: master
rabbitmq:
host: 127.0.0.1
port: 5672 // 注意这里的端口是5672,而我们刚才浏览器打开的http://localhost:15672端口是15672
username: guest
password: guest
management:
endpoint:
health:
show-details: always
endpoints:
web:
exposure:
include: '*'

然后在eureka-client的application.yml文件内容如下:

eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
server:
port: 8762
spring:
application:
name: eureka-client
rabbitmq:
host: 127.0.0.1
port: 5672
username: guest
password: guest
management:
endpoint:
health:
show-details: always
endpoints:
web:
exposure:
include: '*'

用Run DashBoard启动如下项目:

1. 先启动eureka-server项目

2. 再启动config-server项目, Event log里能看到类似如下内容:

o.s.a.r.c.CachingConnectionFactory: Attempting to connect to: [127.0.0.1:5672]
o.s.a.r.c.CachingConnectionFactory: Created new connection: rabbitConnectionFactory#40195a:0/SimpleConnection@5d73bd [delegate=amqp://guest@127.0.0.1:5672/, localPort= 4586]

3. 最后启动eureka-client项目, Event log里能看到类似如下内容(git仓库地址配置好):

c.c.c.ConfigServicePropertySourceLocator: Fetching config from server at : http://localhost:8765/
c.c.c.ConfigServicePropertySourceLocator: Located environment: name=eureka-client, profiles=[dev], label=master, version=addadb9ed2392ae7f6dddc63a5be60361e2ad8d6, state=null
b.c.PropertySourceBootstrapConfiguration: Located property source: CompositePropertySource {name='configService', propertySources=[MapPropertySource {name='configClient'},
MapPropertySource {name='https://github.com/xxx 你的git仓库地址/repos/eureka-client-dev.properties'}]}

启动完成上面三个项目后, 在浏览器打开eureka-client里的api: http://localhost:8762/testone/config

这里从git仓库取出来的message内容是hello spring io –111111, foo的内容是foo version 111111.

现在我们改变git仓里里的message内容.

如何安装curl,请戳这里.

打开cmd, 输入 curl -X POST http://localhost:8765/actuator/bus-refresh

或则用post man发送:

在config-server和eureka-client这两个项目的Event log里看到类似如下的内容:

o.s.cloud.bus.event.RefreshListener : Received remote refresh request. Keys refreshed []

再看rabbitmq页面内容变化, 刷新页面http://localhost:15672, 显示如下:

最后页面刷新http://localhost:8762/testone/config, 就可以看到改的内容了.

我把message改成hello spring io -111111 add message(多了add message内容).

SpringCloud的学习记录(4)的更多相关文章

  1. SpringCloud的学习记录(1)

    最近一段时间重新学习一边SpringCloud(有半年不用了),这里简单记录一下. 我用的是IntelliJ IDEA开发工具, SpringBoot的版本是2.1.3.RELEASE. 1. 构建M ...

  2. SPRINGCLOUD 开发学习记录

    一个简单的微服务系统:服务注册和发现,服务消费,负载均衡,断路器,智能路由,配置管理 服务注册中心: eureka是一个高可用组件,没有后端缓存,每一个实例注册后向注册中心发送心跳,默认情况下,eru ...

  3. SpringCloud的学习记录(8)

    这一章节讲zipkin-server. 在我们生成的Demo项目上右键点击New->Module->spring Initializr, 然后next, 填写Group和Artifact等 ...

  4. SpringCloud的学习记录(7)

    这一章节讲zuul的使用. 在我们生成的Demo项目上右键点击New->Module->spring Initializr, 然后next, 填写Group和Artifact等信息, 这里 ...

  5. SpringCloud的学习记录(6)

    这一章节讲fegin的使用. 在我们生成的Demo项目上右键点击New->Module->spring Initializr, 然后next, 填写Group和Artifact等信息, 这 ...

  6. SpringCloud的学习记录(5)

    这一章节讲如何使用ribbon和hystrix. 在我们生成的Demo项目上右键点击New->Module->spring Initializr, 然后next, 填写Group和Arti ...

  7. SpringCloud的学习记录(3)

    这一章节讲搭建config-server的项目. 在我们生成的Demo项目上右键点击New->Module->spring Initializr, 然后next, 填写Group和Arti ...

  8. SpringCloud的学习记录(2)

    这一章节主要讲如何搭建eureka-client项目. 在我们生成的Demo项目上右键点击New->Module->spring Initializr, 然后next, 填写Group和A ...

  9. SpringCloud基础教程学习记录

    这个学习记录是学习自翟永超前辈的SpringCloud的基础教程. 自己写这个教程的目的主要是在于,想要更凝练总结一些其中的一些实用点,顺便做个汇总,这样自己在复习查看的时候更加方便,也能顺着自己的思 ...

随机推荐

  1. Python-5-字符串方法

    center >>> "The Middle by Jimmy Eat World".center(39) '     The Middle by Jimmy E ...

  2. 删除Ati显卡桌面右键菜单(配置可交换显卡,显示卡属性,图形选项,图形属性)

    Win+R 打开注册表 依次找到 HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers 保留Gadgets.New.Sh ...

  3. Hanlp(汉语言处理包)配置、使用、官方文档

    配置使用教程:https://github.com/hankcs/HanLP Hanlp官方文档:http://www.hankcs.com/nlp/hanlp.html 参考API:http://h ...

  4. Python迭代器生成器,模块和包

      1.迭代器和生成器 2.模块和包 1.迭代器 迭代器对象要求支持迭代器协议的对象,在Python中,支持迭代器协议就是实现对象的__iter__()和__next__()方法.    其中__it ...

  5. Django 11 form表单(状态保持session、form表单及注册实现)

    Django 11 form表单(状态保持session.form表单及注册实现) 一.状态保持 session 状态保持 #1.http协议是无状态的:每次请求都是一次新的请求,不会记得之前通信的状 ...

  6. 缓冲区 粘包 029 send 和sendall 的区别 find 和 findall 的区别

    一.tcp : 属于长连接 与客户端连接了之后 其他客户端需要等待 要连接另外一个 必须优雅的断开前面这个客户的连接. 二.缓冲区 :为了避免网络传输信号不通畅而是程序一直停留在消息发送状态而不向下进 ...

  7. XtraFinder

    About System Integrity Protection in OS X 10.11 Apple's article . System Integrity Protection blocks ...

  8. c++中enum 如何使用(转)

    ENUM概况 enum枚举类型是C/C++中的一种数据类型,与struct和class一样是用户自定义的类型,其特点在于enum类型的变量取值是有限的,是可以一一列举出来的. ENUM定义 C++ e ...

  9. linux面试题:删除一个目录下的所有文件,但保留一个指定文件

    面试题:删除一个目录下的所有文件,但保留一个指定文件 解答: 假设这个目录是/xx/,里面有file1,file2,file3..file10 十个文件 [root@oldboy xx]# touch ...

  10. 学习Laravel遇到的问题纪录

    1.更换git  remote $ git remote rm origin $ git remote add origin git@github.com:your_username/hello_la ...