SpringCloud-Bus

接上文 SpringCloud-消息组件

1 注册Bus

在这里插入图片描述

Bus需要基于一个具体的消息队列实现,比如RabbitMQ.还使用最开始的服务拆分项目,比如现在借阅服务的某个接口调用时,能给用户服务和图书服务发送一个通知。

首先父项目导入SpringCloud依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-dependencies</artifactId>
    <version>2021.0.1</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

在这里插入图片描述

子项目导入依赖

<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>

在这里插入图片描述
在这里插入图片描述

book服务也是同样添加依赖。 然后在配置文件中将RabbitMQ的相关信息配置:

spring:
  rabbitmq:
    addresses: 8.130.172.119
    username: admin
    password: password
    virtual-host: /
management:
  endpoints:
    web:
      exposure:
        include: "*"    #暴露端点,一会用于提醒刷新

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

然后启动三个服务

在这里插入图片描述
在这里插入图片描述

此时三个服务自动生成了各自的消息队列,这样就可以监听并接受消息了。

2 部署配置中心

参考https://editor.csdn.net/md/?articleId=132781568
先关闭三个服务,然后新增模块

在这里插入图片描述

导入依赖

       <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>

在这里插入图片描述

编写启动类

在这里插入图片描述

编写配置文件

在这里插入图片描述

在配置文件添加本地仓库的一些信息(远程仓库同理)

在这里插入图片描述在这里插入图片描述

server:
  port: 8700
spring:
  application:
    name: config-server
  cloud:
    config:
      server:
        git:
          # 这里填写的是本地仓库地址,远程仓库直接填写远程仓库地址 http://git...
          uri: file://G:\springcloud\config-repo
          # 默认分支设定为你自己本地或是远程分支的名称
          default-label: master

启动config服务,查看仓库的文件内容

在这里插入图片描述

此时服务器搭建好了。

搭建客户端
在这里插入图片描述

导入依赖,只给book服务添加,这里只演示book服务

在这里插入图片描述

添加bootstrap.yml文件

在这里插入图片描述

spring:
  cloud:
    config:
      # 名称,其实就是文件名称
      name: book-service
      # 配置服务器的地址
      uri: http://localhost:8700
      # 环境
      profile: dev
      # 分支
      label: master

在bookcontroller打印一下配置文件的内容并添加注


在这里插入图片描述
在这里插入图片描述

启动三个服务和config服务,然后访问test接口,可以看到配置的仓库文件book-service-dev.ymlspring: application:name的值。

在这里插入图片描述

然后在仓库中修改spring: application:name的值

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

消息队列也有消息变动

在这里插入图片描述

再次访问文件的内容发现有改变,这是消息在起作用。

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值