spring cloud 2.0 入门系列一 (2)分布式配置中心-Config

Spring Cloud Config

Spring Cloud Config为分布式系统中的外部化配置提供服务器和客户端支持。使用Config Server,您可以在所有环境中管理应用程序的外部属性。

服务说明

请参考官网:http://cloud.spring.io/spring-cloud-config/#quick-start

应用说明

使用框架

  • SpringBoot 2.0.3
  • SpringCloud Finchley.RELEASE

使用jar包

  • spring-cloud-starter-netflix-eureka-client
  • spring-boot-starter-web
  • spring-cloud-config-server
  • spring-cloud-starter-config
  • spring-boot-configuration-processor

环境搭建

config server

pom文件添加依赖

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

<!-- 系统注册与监测服务 -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

<!-- 系统配置管理中心服务端 -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-config-server</artifactId>
</dependency>

启动文件

添加注解 @EnableDiscoveryClient@EnableConfigServer

配置文件

server:
  port: 8771

eureka:
  client:
    registerWithEureka: true #否注册自身到eureka服务器
    fetchRegistry: true #是否从eureka服务器获取注册信息
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/ #虽然上面两个开关都打开,但这里只配置了一个节点,没有集群支持,上述开关无效。

spring:
  application:
    name: cloud-config
#  profiles:
#    active: subversion #使用SVN作为配置中心时使用
  cloud:
    config:
      enabled: true
      discovery:
        enabled: true #开启config服务发现,既开启集群环境,此开关开启时,client必须使用服务名链接config server。
      server:
        git:
          uri: https://github.com/xiaoming302/cloud_properties
          searchPaths: '{application}' #使用应用名称作为搜索路径
          label: master
#        svn:
#          uri: svn://localhost/demo/spring_cloud/parent/trunk/properties/
#          username: 你的SVN账号
#          password: 你的SVN密码
#          search-paths: '{application}'
#          default-label: trunk

被注释掉的配置时用在SVN作为仓库是使用的配置,与Git配置不可同时使用
注意:

  • 使用应用名称作为搜索路径时需要用单引号括起来,否则yml文件无法正确解析。
  • git默认label为:master 而SVN默认label为:trunk,配置时请注意区分。
  • +

config client

pom文件添加依赖

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

<!-- 系统注册与监测服务 -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

<!-- 系统配置管理中心 -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-config</artifactId>
</dependency>

<!-- spring 配置读取(@ConfigurationProperties(prefix = "test")) -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>

启动文件修改

启动类只需要开启eureka注册即可:@EnableDiscoveryClient

配置文件

server:
  port: 8781

spring:
  application:
    name: server-user
  cloud:
    config:
      discovery:
        enabled: true
        service-id: cloud-config
      profile: dev
      label: master

eureka:
  client:
    registerWithEureka: true
    fetchRegistry: true
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/

具体的配置使用就不在这里说明了,可以使用@Value注解自动注入,也可以使用配置类的方式使用

代码样例

猜你喜欢

转载自blog.csdn.net/xiaoluo033/article/details/80946365
今日推荐