IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> spring cloud bus相关图形 -> 正文阅读

[Java知识库]spring cloud bus相关图形

一 具体:Spring Cloud Config配置全局刷新

1 业务、需求

????????业务:spring cloud netflix + spring cloud config搭建的微服务

????????需求:spring cloud config配置的全局刷新

2 解决方案

????????架构:多个微服务模块

????????功能:全局刷新

????????工具:spring cloud bus就可以用来实现配置的自动刷新

3 高效学习

(1)思想

????????Spring Cloud Bus使用轻量级的消息代理/总线。

(2)流原

????????Spring Cloud Bus中可以使用例如RabbitMQ、Kafka等消息服务器,来把消息广播到各个微服务模块,以达到通知各个微服务spring cloud config配置变更的目的,最终实现spring cloud config全局的自动刷新。

? ? ? ? Spring Cloud Bus想象成一个分布式的Spring Boot Actuator。如果只用一个Spring Boot Actuator那么,只能手动对单台微服务模块进行spring cloud config配置的刷新。而使用Spring Cloud Bus,可以对所有的微服务模块进行spring cloud config配置的刷新。

  1. 第一步:用户,post请求 + spring cloud bus的bush/refresh,刷新spring cloud config服务。
  2. 第二步:spring cloud config发送配置变更消息 RabbitMq消息服务器
  3. 第三步:所有的微服务模块(1~4)都去监听并接收配置变更消息
  4. 第四步:所有的微服务模块,主动去spring cloud config获取最新的配置信息
  5. 第五步:spring cloud config会去远程的git仓库 或者 本地git仓库(如果缓存了的话)获取最新的配置信息返回给所有微服务模块。

(3)注,应用

服务端配置(spring cloud config项目):

  1. 第一步:加入依赖:spring-cloud-starter-bus-amqp、spring-boot-starter-actuator:
    <!-- spring-cloud-starter-bus-amqp -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-bus-amqp</artifactId>
    </dependency>
     
    <!-- spring-boot-starter-actuator -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    
    注:如果机器充足的话,不需要使用spring cloud config做为spring cloud bus服务,可以单独为spring cloud bus单独起一个微服务。如下图所示:

    如果使用上图所示的架构,那么如果spring cloud config项目的配置更改后,可直接对单独的spring cloud bus微服务进行刷新,把配置更新消息推送到Rabbitmq消息服务器中......。
  2. 第二步:配置文件增加rabbitmq的配置、开户spring cloud bus、开启所有端点
    #配置rabbitmq
    spring.rabbitmq.host=192.168.10.128
    spring.rabbitmq.port=5672
    spring.rabbitmq.username=guest
    spring.rabbitmq.password=guest
     
    #开启spring cloud bus,默认是开启的,也可以省略该配置
    spring.cloud.bus.enabled=true
     
    #打开所有的web访问端点
    management.endpoints.web.exposure.include=*
    

  1. ???????????客户端配置,(需求接收配置变更的所有的微服务模块):
  1. 第一步:加入依赖:spring-cloud-starter-bus-amqp、spring-boot-starter-actuator。
    <!-- spring-cloud-starter-bus-amqp -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-bus-amqp</artifactId>
    </dependency>
     
    <!-- spring-boot-starter-actuator -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    
  2. 第二步:加入rabbitmq的配置信息。如果引用的是git中的配置,那记得是把rabbitmq的配置push到git远程仓库中。
    #配置rabbitmq
    spring.rabbitmq.host=192.168.10.128
    spring.rabbitmq.port=5672
    spring.rabbitmq.username=guest
    spring.rabbitmq.password=guest
  3. 第三步:然后post方式请求地址:http://localhost:8888/actuator/bus-refresh
  4. 第四步:如果返回成功1,则RabbitMQ将收到消息
  5. 第五步:需求接收配置变更的所有的微服务模块会消费消息,实现全局刷新

测试:

  1. 第一步:启动rabbitmq
  2. 第二步:启动spring cloud config微服务
  3. 第三步:启动需求接收配置变更的所有的微服务模块
  4. 第四步:查看rabbitmq控制台的消息变化
  5. 第五步:修改配置,提交到远程git仓库
  6. 第六步:然后post方式请求spring cloud config项目:http://localhost:8888/actuator/bus-refresh
  7. 第七步:通过访问需求接收配置变更的所有的微服务模块的controller去验证是否成功。
    ?

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-05-07 11:02:36  更:2022-05-07 11:03:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 23:48:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码