我是靠谱客的博主 清脆歌曲,最近开发中收集的这篇文章主要介绍SpringCloud(八)——Bus组件SpringCloud(八)——Bus组件,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

SpringCloud(八)——Bus组件

前言

Bus 中文翻译是消息总线,SpringCloud消息总线在分布式系统中使用一个轻量级的消息中间件来连接所有服务节点。这句话中一共有一下几个核心概念:

  • SpringCloud bus组件;
  • 轻量级消息中间件;
  • 微服务节点。

在SpringCloud bus 中支持两种主流的消息中间件:

  • RibbitMQ:该组件的底层协议是AMQP,是一种处理消息总线处理节点的协议;(Ribbit Message Queue;消息队列):

    • 消息:指系统间数据传递;
    • 队列:是一种数据结构,先进入该数据结构的数据先被调用(先进先出,不太理解的同学可以去学习数据结构)。

    MQ定义:可以保证消息传递的顺序,实现系统之间的数据传递。

  • Kafka:

通过SpringCloud bus 的广播特性(MQ特性),当某一个状态(在这里我们使用它来监测配置文件)发生改变后,通知到bus中所有的节点更新当前的(配置文件)状态。

SpringCloud bus的实现原理是构建一个服务,集成RibbitMQ,通过RibbitMQ中间件来连接各个微服务节点,该构件的应用场景:

  • 异构系统间解耦;
  • 异步处理,优化程序性能;

文章目录

  • SpringCloud(八)——Bus组件
    • 前言
    • SpringCloudBus配置与使用
      • 配置
        • 统一配置中心配置
        • 其他服务配置
      • 使用
    • 总结

SpringCloudBus配置与使用

配置

统一配置中心配置

  • 引入依赖
<!--springcloudbus-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
  • 配置Bus 组件连接rabbitMQ相关的参数
# 暴露所有的端点
management.endpoints.web.exposure.include=*
# 配置Bus组件连接RabbitMQ的参数
spring.rabbitmq.host=RabbitMQ安装服务器的IP地址
spring.rabbitmq.port=5672
# 同一个系统的服务必须使用同一套用户名和密码(主机)
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
# 使用默认的根主机
spring.rabbitmq.virtual-host=/

其他服务配置

  • 微服务中,引入依赖
<!--springcloudbus-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
  • 将配置Bus 组件连接rabbitMQ相关的参数放到远端存放
# 配置Bus组件连接RabbitMQ的参数
spring.rabbitmq.host=RabbitMQ安装服务器的IP地址
spring.rabbitmq.port=5672
# 同一个系统的服务必须使用同一套用户名和密码(主机)
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
# 使用默认的根主机
spring.rabbitmq.virtual-host=/

# 引入SpringCloud Bus依赖后会出现连接错误,即项目启动就会连接对应的轻量级中间件,而相关配置文件在远端仓库
# true表示在远端配置获取成功之前,出现连接失败的错误是允许的
spring.cloud.config.fail-fast=true

使用

在使用的时候需要先启动统一配置中心,然后再启动其他微服务(注意:这一部分笔记是连续的,要是想使用SpringCloudBus,前面的consul、configserver等配置也必须写上)。

如果在修改了远端配置之后,我们可以不需要启动任何服务,直接对统一配置中心发送一个POST请求即可。

在远端配置更新后,可以向统一配置中心发送 post 请求http://localhost:port/actuator/bus-refresh

但是,在新版本中,路径为http://localhost:port/actuator/busrefresh。指定服务刷新需要在路径后面添加对应服务的ID,例如:http://localhost:port/actuator/busrefresh/configclient,这样就可以单独更新这一个服务的相关配置。

总结

这一部分的知识点并不是很多,只是需要配合对应的软件。安装软件的部分如果和笔记部分写在一起,可能会使阅读产生混乱,所以将这一部分知识点拆成了三部分,大家请按顺序阅读。

最后

以上就是清脆歌曲为你收集整理的SpringCloud(八)——Bus组件SpringCloud(八)——Bus组件的全部内容,希望文章能够帮你解决SpringCloud(八)——Bus组件SpringCloud(八)——Bus组件所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部