springcloud 配置中心git


一、通过客户端刷新,使配置文件生效

1、创建远程仓库,获取远程仓库地址(省略),application.yml

  

 

2、创建服务端工程

3、添加依赖

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

4、加注解

  

@EnableDiscoveryClient
@EnableConfigServer //激活对配置中心的支持
@SpringBootApplication
public class SpringCloudConfigServerMqApplication {

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

}

 

5、修改配置application.properties

spring.application.name=spring-cloud-config-server
server.port=8500

spring.cloud.config.server.git.uri=https://***.git
spring.cloud.config.server.git.username=***
spring.cloud.config.server.git.password=***

eureka.client.serviceUrl.defaultZone=http://**:***/eureka/

 

6、请求方式

 

1、application-{profiles}.yml请求
http://192.168.0.131:8500/application-local.yml
http://192.168.0.131:8500/application-test.yml
http://192.168.0.131:8500/application-prod.yml
2、application/{profiles}/{lable}
http://192.168.0.131:8500/application/local/master
http://192.168.0.131:8500/application/test/master
http://192.168.0.131:8500/application/prod/master
3、{lable}/application-{profiles}.yml
http://192.168.0.131:8500/master/application-local.yml
http://192.168.0.131:8500/master/application-test.yml
http://192.168.0.131:8500/master/application-prod.yml

 

7、创建客户端工程

8、添加依赖

  

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

 

9、加注解

@SpringBootApplication
@EnableDiscoveryClient
public class SpringCloudProviderDynastyMqApplication {

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

}

10、修改配置bootstrap.yml

spring:
  application:
    name: dynasty
  cloud:
    config:
      uri: http://192.168.0.131:8500
      profile: prod
      label: master
management:
  endpoints:
    web:
      exposure:
        include: refresh,health,info

11、发送请求

  

12、修改远程仓库的值,使用postman刷新

 

此种刷新方式的缺点在于:配置文件有变化时,需要客户端主动刷新,当客户端有很多时,刷新不是很方便,,希望有一种方式可以通过服务端刷新

二、使用kafka通过刷新服务端来使配置生效

   1、服务端修改

    1.1新增依赖

    

     <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <!-- kafka依赖 -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bus-kafka</artifactId>
        </dependency>

 

    1.2修改配置

  

eureka:
    client:
      serviceUrl:
        defaultZone: http://ip:port/eureka/
server:
  port: 8500
spring:
  application:
    name: spring-cloud-config-server-mq
  cloud:
    config:
      server:
        git:
          uri: https://giturl.git
          username: username
          password: password
    bus:
      enabled: true
    stream:
      kafka:
        binder:
          brokers: 192.168.0.128:9092,192.168.0.129:9092,192.168.0.130:9092
management:
  endpoints:
    web:
      exposure:
        include: "*"

    1.3启动项目

  2、客户端修改

    2.1添加依赖

    

<dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-bus-kafka</artifactId>
</dependency>

 

    2.2修改配置

spring:
  application:
    name: dynasty
  cloud:
    config:
      uri: http://192.168.0.131:8500
      profile: prod
      label: master
    bus:
      enabled: true
  kafka:
    bootstrap-servers: 192.168.0.128:9092,192.168.0.129:9092,192.168.0.130:9092

 

    2.3启动项目

  3、请求示例

     3.1git配置

      

  

     3.2请求

    

    3.3修改git配置

    

    3.4调用刷新接口

    

    3.5再次请求

    

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM