【Spring Cloud】13_Spring Cloud的服务配置中心 Config

配置中心

实战案列

git上搭建配置环境

创建yml配置文件

在springcloud01工程下新建config文件夹,并将sp02-itemservice、sp03-userservice、sp04-orderservice中的application.yml文件复制一份并改名为放入config文件夹。

在这里插入图片描述

新增yml配置

三个 yml 文件中都新增下面配置,防止配置中心的配置,覆盖本地命令参数

spring:
  cloud:
    config:
      override-none: true

在这里插入图片描述

创建Git本地仓库

在这里插入图片描述

选择springcloud01工程创建本地仓库

在这里插入图片描述
将工程向本地仓库上传(commit 提交本地仓库,ctrl+k,右上角对勾按钮,double shift搜索commit)

在这里插入图片描述

创建Getee远程仓库

gitee上创建一个远程仓库,命名为SpringCloudDemo

在这里插入图片描述

复制远程仓库的地址

在这里插入图片描述

本地仓库上传Getee

将本地仓库的工程上传至gitee上(ctrl+shift+k,右上角向上箭头按钮,double shift搜索push)
在这里插入图片描述
在这里插入图片描述

上传成功

在这里插入图片描述

搭建配置中心

在 springcloud1 下新建模块 sp09-config

在这里插入图片描述

pom.xml

添加依赖

  • eureka client
  • config server
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>springcloud01</artifactId>
        <groupId>cn.tedu</groupId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <groupId>cn.tedu</groupId>
    <artifactId>sp09-config</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>sp09-config</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <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>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>


    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>
application.yml

添加访问远程仓库配置文件的路径

  • 仓库的地址
  • 存放配置文件的文件夹路径
spring:
  application:
    name: config-server
  cloud:
    config:
      server:
        git:
          uri: https://gitee.com/deven-lee/spring-cloud-dome
          search-paths: /config

server:
  port: 6001

eureka:
  client:
    service-url:
      defaultZone: http://eureka1:2001/eureka, http://eureka2:2002/eureka
主程序

添加@EnableConfigServer注解

@EnableConfigServer
@SpringBootApplication
public class Sp09ConfigApplication {

    public static void main(String[] args) {
        SpringApplication.run(Sp09ConfigApplication.class, args);
    }

}

启动测试

启动 sp09-config 服务,访问eureka,检查config 服务是否正常运行

http://eureka1:2001/

在这里插入图片描述

分别访问配置中心的配置文件,查看信息

http://localhost:6001/item-service/dev
http://localhost:6001/item-service/dev
http://localhost:6001/item-service/dev

在这里插入图片描述

配置中心的客户端

pom.xml

在02、03、04 模块中添加 config client 依赖

  <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-config</artifactId>
  </dependency>
bootstrap.yml

把 02、03、04模块的的配置文件全部注释掉,并创建 bootstrap.yml 配置文件。

在这里插入图片描述

在 02、03、04 bootstrap.yml 文件中分别写入下面配置,根据自己的服务名更改name等信息。

添加配置:

  • eureka地址
  • 指定配置中心的服务id:CONFIG-SERVER
  • 指定下载的配置文件和 profile
eureka:
  client:
    service-url:
      defaultZone: http://eureka1:2001/eureka, http://eureka2:2002/eureka
spring:
  cloud:
    config:
      discovery:
        enabled: true
        service-id: config-server
      name: item-service
      profile: dev

启动服务

当02、03、04服务能成功启动,并显示下面日志,说明连接配置中心成功。

在这里插入图片描述

在这里插入图片描述

config bus + rabbitmq 消息总线配置刷新

在这里插入图片描述
post 请求消息总线刷新端点,服务器会向 rabbitmq 发布刷新消息,接收到消息的微服务会向配置服务器请求刷新配置信息

需要动态更新配置的微服务,添加 spring cloud bus 依赖,并添加 rabbitmq 连接信息

修改以下微服务

sp02-item-service
sp03-user-service
sp04-order-service
sp11-zuul
sp12-config
pom.xml 添加 spring cloud bus 依赖
使用 STS 编辑起步依赖,分别添加 bus、rabbitmq 依赖

management:
  endpoints:
    web:
      exposure:
        include: bus-refresh

postman 向 bus-refresh 刷新端点发送 post 请求
http://localhost:6001/actuator/bus-refresh

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值