spring cloud之配置中心

2020-02-25  本文已影响0人  走在冷风中吧

由于spring cloud微服务很多, 所以每个配置文件都分散在各个微服务中, 不利于管理, 所以spring cloud为我们提供了配置中心, 将配置文件交由配置中心进行统一管理.

配置中心也是一个微服务, 需要向Eureka中心进行注册.

  1. 新建config-server模块, 勾选config和Eureka client的starter


    image.png
  2. 在启动类applcation文件上添加注解 @EnableDiscoveryClient 能被Eureka发现
    @EnableConfigServer 开启配置server

@SpringBootApplication
@EnableDiscoveryClient  //能被Eureka发现
@EnableConfigServer  //开启配置server
public class ConfigServerApplication {

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

}
  1. 建立远程仓库,用来存放各个微服务的配置文件
    https://github.com/sUnShinEo0/spring-cloud-configure.git

  2. 配置application.yml

#端口号
server:
  port: 11000

spring:
  #应用名称
  application:
    name: configure-server
  #配置文件指向的远程仓库地址
  cloud:
    config:
      server:
        git:
          uri: https://github.com/sUnShinEo0/spring-cloud-configure.git

#向服务中心注册自己
eureka:
  client:
    service-url:
      defaultZone: http://localhost:10086/eureka

logging:
  level:
    com: debug
  1. 将微服务的配置文件复制到远程仓库中, 文字命名为{application-name}-{profile}.yml
image.png
  1. 改造服务的配置文件, 删除原先配置文件application.yml, 新建bootstrap.yml启动配置文件, 用于连接配置中心
    bootstrap.xml
spring:
  cloud:
    config:
      #服务的名字, 这几个参数主要用于在远程仓库中定位文件, {application-name}-{profile}.yml
      # name要和仓库中前半截相同
      name: consumer-service
      profile: dev
      # label指定远程仓库的分支
      label: master
      # 设置指定的配置中心
      discovery:
        enabled: true
        service-id: configure-server


#向服务中心注册自己
eureka:
  client:
    service-url:
      defaultZone: http://localhost:10086/eureka

ps: bootstrap.yml和application.yml的区别在于bootstrap用于启动配置, 优先加载, 改动较小, 而application.yml随着我们项目的变化会进行持续的修改

  1. 重新启动服务, 启动的次序依次为: Eureka-server-> Config-server->功能微服务
上一篇下一篇

猜你喜欢

热点阅读