以案例聊聊SpringCloud分布式系统的架构者(十)

最后一点了,搞完就基本SpringCloud就聊完了。聊完SpringCloud,我会再聊聊大数据方面的技术主要方向在Hadoop、Spark等一共十几种大数据技术和架构实现;在人工智能方面的技术中主要方向在于二十种人工智能常见算法和具体实现;人工智能具体实现中主要聊的方向在人脸、语音、图片识别和机器的神经网络、机器的自主学习等方面。然后再说说比特币的前生今世和整个区块链的实现架构和技术要点等等;聊完以上我的博客数量估计就高达两三百篇了,整个时间聊完保守估计得2年多,哈哈,慢慢来。我再聊人工智能之前会把Python这一块系统的说一下。好了,慢慢来吧!先看今天的这一聊SpringCloud的分布式消息总线。

SpringCloud分布式消息总线:

今天开始聊聊SpringCloud的分布式消息总线,为什么要聊这个呢?原因在于我们SpringCloud的分布式配置服务中心,它一般从git或者是svn上拉取里面的相关的配置。在服务启动的时候它去拉取一次,那么在服务启动的过程中如果我的git或者svn上的配置发生了改变并且我想让改变以后的配置信息立即生效而不重启配置服务中心。为了解决这个问题我们可以用基于RabbitMQ消息中间件来做消息总线。这里既然要用到RabbitMQ那么我们这里就得下载安装RabbitMQ相关的东西。RabbitMQ的下载和安装的介绍在可以看我的这篇聊聊:https://blog.csdn.net/CDW2328/article/details/96473243

基于RabbitMQ的消息总线的架构:

上面是SpringCloud的消息总线架构。下面我们看如果实现这个架构:

配置服务中心(以下的配置都是基于之前的案例添加的配置,并不是全部的配置):

pom.xml中添加依赖:

<!--添加消息总线的配置-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>

application.properties添加:

#-----------------------------------------
#include: "*" 表示暴露所有 endpoints 出去,默认是“health”,“info”
management.endpoints.web.cors.allowed-origins=*
#-----------------------------------------
#配置RabbitMQ的配置
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest

配置服务客户端(以下的配置都是基于之前的案例添加的配置,并不是全部的配置):

pom.xml中的添加依赖:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bus-amqp</artifactId>
    <version>2.1.2.RELEASE</version>
</dependency>

application.properties中添加:

#-------------------------------------------------------------------
#刷新配置,在spring boot 2.x 之前1.x的management.security.enabled失效,新的配置为
management.endpoints.web.exposure.include=bus-refresh
#是否激活客户端的服务发现
spring.cloud.discovery.enabled=true
#对应注册到Eureka中的配置中心应用名
spring.cloud.config.discovery.service-id=SERVER-CONFIG
#RabbitMQ相关的
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest

在配置服务的客户端启动类上添加注解:

所有的配置完毕,最后测试:

1:浏览器中访问配置服务客户端

2:修改SVN中对应的配置文件并保存后提交到SVN中:

3:在windows的dos命令窗口输入:curl -X POST http://localhost:7010/actuator/bus-refresh命令

注意:在windows中没有curl命令,这里需要下载包然后安装一下。这个安装不想写了,在网上找了一篇可用的所以可以参看这篇:https://blog.csdn.net/qq_37958578/article/details/79973265

4:再次访问配置服务客户端:

好了至此SpringCloud消息总线就聊到这。 整个SpringCloud分布式架构就聊完了,整个聊的过程中构建的项目都上传到GitHub中了,有需要的同仁加我QQ:767611329

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值