欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

云计算SpringCloudConfigServer实践教程

程序员文章站 2022-04-21 20:51:49
本文介绍简单的使用Config Server. Spring Cloud Config Server 作为配置中心服务端 拉取配置时更新 git 仓库副本,保证是最新结果 支持数据结构丰...

本文介绍简单的使用Config Server.
Spring Cloud Config Server 作为配置中心服务端

拉取配置时更新 git 仓库副本,保证是最新结果
支持数据结构丰富,yml, json, properties 等
配合 eureke 可实现服务发现,配合 cloud bus 可实现配置推送更新
配置存储基于 git 仓库,可进行版本管理
简单可靠,有丰富的配套方案

建立一个简单的Spring Boot工程:ConfigServer
和其他Spring Boot工程一样,只是ConfigServer稍加配置就可以使用Spring Cloud Config Server的功能了。
pom.xml:



    4.0.0

    com.smart.configserver
    ConfigServer
    0.0.1
    jar

    ConfigServer
    Demo config server 

    
        org.springframework.boot
        spring-boot-starter-parent
        1.5.9.RELEASE
         
    UTF-8UTF-8
        1.8
        Edgware.SR1
    

    
        
            org.springframework.cloud
            spring-cloud-config-server
        

        
            org.springframework.boot
            spring-boot-starter-security
        

        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                ${spring-cloud.version}
                pom
                import
            
        
    

    
        
                org.springframework.boot
                spring-boot-maven-plugin
            

配置Config Server的端口和配置仓库的路径
这里配置仓库的路径是local目录git仓库

vi application.properties
server.port: 8888
spring.cloud.config.server.git.uri: file://home/zzhen/gitRepository/demoConfig
security.user.name: zzhen
security.user.password: 12345678

如果配置了security就需要导入maven依赖配置


    org.springframework.boot
    spring-boot-starter-security

在本地仓库有一个配置文件billing.properties:

cat /home/zzhen/gitRepository/demoConfig/billing.properties
spring.application.name = billing
spring.jdbc.host = localhost
spring.jdbc.port = 3306
spring.jdbc.user = root
spring.jdbc.password = root

启动ConfigServer程序然后在浏览器访问下面的URL可以获得相应的配置信息:可以是json格式也可以是yml格式。

curl http://192.168.137.11:8888/master/billing-profile.json
{
    "spring": {
        "application": {
            "name": "billing"
        },
        "jdbc": {
            "host": "localhost",
            "password": "root",
            "port": "3306",
            "user": "root"
        }
    }
}

curl http://192.168.137.11:8888/master/billing-profile.yml
spring:
  application:
    name: billing
  jdbc:
    host: localhost
    password: root
    port: '3306'
    user: root


curl http://192.168.137.11:8888/billing/profile/master
{
    "name": "billing",
    "profiles": ["profile"],
    "label": "master",
    "version": "de015cae2b021b8ac6f0d3e9ff273d3e9ac076aa",
    "state": null,
    "propertySources": [{
        "name": "file://home/zzhen/gitRepository/demoConfig/billing.properties",
        "source": {
            "spring.jdbc.password": "root",
            "spring.jdbc.host": "localhost",
            "spring.jdbc.user": "root",
            "spring.jdbc.port": "3306",
            "spring.application.name": "billing"
        }
    }]
}

注:访问启动的项目,通过URL路径匹配相应的配置文件,URL与配置文件的映射关系如下:
/{application}/{profile}[/{label}]
/{application}-{profile}.yml
/{label}/{application}-{profile}.yml
/{application}-{profile}.properties
/{label}/{application}-{profile}.properties