Spring Cloud Config 使用总结

Spring Cloud Config 使用总结

https://github.com/ChangMuChen/Spring-Boot

一、介绍

Spring Cloud Config

Spring Cloud Config为分布式系统中的外部化配置提供服务器和客户端支持。使用Config Server,您可以在所有环境中管理应用程序的外部属性。客户端和服务器上的概念映射与Spring Environment和PropertySource抽象,因此它们非常适合Spring应用程序,但可以与任何语言运行的任何应用程序一起使用。当应用程序通过部署管道从开发到测试并进入生产时,您可以管理这些环境之间的配置,并确保应用程序具有迁移时需要运行的所有内容。服务器存储后端的默认实现使用git,因此它可以轻松支持配置环境的标签版本,以及可用于管理内容的各种工具。添加替代实现并使用Spring配置插入它们很容易。

Spring Cloud Config Server功能

  • 用于外部配置的HTTP,基于资源的API(名称 值对或等效的YAML内容)
  • 加密和解密属性值(对称或非对称)
  • 使用可轻松嵌入Spring Boot应用程序
  • 可以轻松的结合Eureka实现高可用
  • 可以轻松的结合Spring Cloud Bus实现自动化持续集成

Config Client功能(适用于Spring应用程序)

  • 绑定到Config Server并Environment使用远程属性源初始化Spring
  • 加密和解密属性值(对称或非对称)
  • 结合Eureka实现服务发现

二、基础使用

1. 搭建服务端

Step1. 新建Spring Boot项目 configserver

Step2. 引入主要依赖 spring-cloud-config-server

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-config-server</artifactId>
</dependency>

Step3. 引入 spring-boot-starter-web

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

Step4. 主程序添加注释 @EnableConfigServer

@SpringBootApplication
@EnableConfigServer
public class ConfigserverApplication {
   
    public static void main(String[] args) {
   
        SpringApplication.run(ConfigserverApplication.class, args);
    }
}

Step5. 设置属性

这里使用 .properties 的方式进行配置。你可以自行更换为同等效果的 .yml 方式。配置信息需要放在 bootstrap.properties 中。

1)Git方式存储配置文件示例

#配置文件存放在Git的情况
spring.cloud.config.server.git.uri=http://172.16.50.98:9999/changdaohang/demo_configs.git
spring.cloud.config.label=master
spring.cloud.config.server.git.search-paths=/**
spring.cloud.config.server.git.username=username
spring.cloud.config.server.git.password=password

2)本地存储配置文件

#配置文件存放在本地的情况
#注意:文件夹要有访问权限
spring.profiles.active=native
spring.cloud.config.server.native.search-locations=C:/IdeaProjets/demo_configs/

Step6. 启动

备注

我们可以直接通过restful api 的方式进行访问配置。路由如下:

#映射说明如下
#/{application}/{profile}[/{label}]
#/{application}-{profile}.yml
#/{label}/{application}-{profile}.yml
#/{application}-{profile}.properties
#/{label}/{application}-{profile}.properties

例如:http://localhost:8080/testapp/devhttp://localhost:8080/testapp-dev.properties
对应的配置为 /t

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值