文档章节

SpringCloud的配置中心

xiongsheng
 xiongsheng
发布于 2018/03/07 15:13
字数 695
阅读 9
收藏 0

Spring Cloud Config为服务端和客户端提供了分布式系统的外部化配置支持。配置服务中心采用Git的方式存储配置文件,因此我们很容易部署修改,有助于对环境配置进行版本管理。

1 、配置中心服务端启动

Spring Cloud Config支持在Git, SVN和本地存放配置文件,使用Git或者SVN存储库可以很好地支持版本管理,Spring默认配置是使用Git存储库。在本案例中将使用OSChina提供的Git服务存储配置文件。为了能让Config客户端准确的找到配置文件,在管理配置文件项目my-sample-config中放置配置文件时,需要了解application, profile和label的概念:

  • {application}映射到Config客户端的spring.application.name属性
  • {profile}映射到Config客户端的spring.profiles.active属性,可以用来区分环境
  • {label}映射到Git服务器的commit id, 分支名称或者tag,默认值为master

例如在本案例中,计划将客户端my-config-client的spring.application.name设置为my-client,则上传一个文件名为my-client.yml配置文件;另外计划在uat环境上做不同的配置,则再上传一个文件名为my-client-uat.yml配置文件

info:
  app:
    name: 配置中心服务器
  version: 1.0.0-SNAPSHOT

server:
  port: 3333
  tomcat:
    max-threads: 1000
    uri-encoding: UTF-8

spring:
  profiles:
    active: dev
  application:
    name: config-service
  http:
    encoding:
      charset: UTF-8
      force: true
  zipkin:
    base-url: "http://192.168.3.3:2233/"
  rabbitmq:
    host: 192.168.0.1
    port: 1111
    username: 1
    password: 2
  cloud:
    config:
      server:
       git:
          searchPaths: dev
          #设置服务器端口号和配置文件Git仓库的链接
          uri: "http://192.168.3.3:3000/root/config.git"
          username: root
          password: 111111

management:
  security:
    enabled: false
 
security:
  basic:
    enabled: false

eureka:
  client:
    serviceUrl:
      defaultZone: "http://192.168.3.1:1111/eureka/,http://192.168.3.2:1111/eureka/,http://192.168.3.3:1111/eureka/"
  instance:
    # 续约更新时间间隔(默认30秒)
    lease-renewal-interval-in-seconds: 20
    # 续约到期时间(默认90秒)
    lease-expiration-duration-in-seconds: 30

如果配置文件放置在Git存储库的根目录下,则无需使用searchPaths参数,本例中的配置文件在my-sample-config目录中,因此使用searchPaths参数提示Config服务器搜索my-sample-config子目录。

2、客户端连接

spring:
  profiles:
    active: dev
  application:
    name: DDDD-xs
  http:
    encoding:
      charset: UTF-8
      force: true
  cloud:
    bus:
      trace:
        enabled: true
    config:
      name: spes
      profile: serv
      label: master
      discovery:
        enabled: true
        service-id: AAAAAA
      fail-fast: true

3、动态刷新配置

无需重新启动客户端,即可更新Spring Cloud Config管理的配置 
1)在Git中更新 my-client-uat.yml 文件中的配置:

my-config:
  appName: my-app-uat-new
  • 1
  • 2

2) 访问http://localhost:8888/my-client/uat/master,可见属性my-config.appName已经更新。但此时访问http://localhost:8080/app-name,客户端读到属性值尚未更新。 
3) 对Conf客户端发一个POST请求http://localhost:8080/refresh,返回200 OK。再次访问http://localhost:8080/app-name,可见在并未重启客户端服务的情况下,读到的属性值已经动态更新

© 著作权归作者所有

xiongsheng
粉丝 2
博文 68
码字总数 35128
作品 0
程序员
私信 提问
史上最简单的 SpringCloud 教程 | 终章

版权声明:本文为博主原创文章,欢迎转载,转载请注明作者、原文超链接 ,博主地址:http://blog.csdn.net/forezp。 https://blog.csdn.net/forezp/article/details/70148833 转载请标明出处...

方志朋
2017/04/12
0
0
史上最简单的 SpringCloud 教程

《史上最简单的 SpringCloud 教程》系列: 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka) 史上最简单的SpringCloud教程 | 第二篇: 服务消费者(rest+ribbon) 史上最...

外星人et59
2018/04/21
0
0
springcloud eureka 服务注册中心

------------------------------------------------------------------------------------------------------------ springcloud (零) springboot 基础 下载 springcloud (一)服务注册中心 ......

curiousby
2017/02/08
0
0
springcloud 服务网关 gateway zuul

------------------------------------------------------------------------------------------------------------ springcloud (零) springboot 基础 下载 springcloud (一)服务注册中心 ......

curiousby
2017/02/17
0
0
springcloud 客户端负载均衡 ribbon

------------------------------------------------------------------------------------------------------------ springcloud (零) springboot 基础 下载 springcloud (一)服务注册中心 ......

curiousby
2017/02/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊spring cloud的ConsulServiceRegistry

序 本文主要研究一下spring cloud的ConsulServiceRegistry ServiceRegistry spring-cloud-commons-2.1.2.RELEASE-sources.jar!/org/springframework/cloud/client/serviceregistry/ServiceR......

go4it
6分钟前
0
0
Nextjs 学习 —— hooks

22

lemos
16分钟前
0
0
如何在spring mvc restful接口中定制化类型转换和格式化

1.痛点 最近小胖哥搞了个小程序,有几个spring mvc 接口传递了时间,时间用java 8 time 相关的api 来直接接收: 当使用根据ISO 8601格式化的参数向任何这些方法发送POST请求时,报出了如下异...

码农小胖哥
30分钟前
2
0
docker日志监控

日志处理机制 我们先来了解一下docker日志处理的机制,当启动一个容器的时候,它其实是docker daemon的一个子进程,docker daemon可以拿到你容器里面进程的标准输出,拿到标准输出后,它会通...

爱宝贝丶
30分钟前
2
0
域名已备案,但jsapi添加支付授权目录依然提示支付授权目录未通过ICP备案!!!

问题描述: 一网站域名xxx.cn已备案成功,在全国工业和信息化部(http://beian.miit.gov.cn/publish/query/indexFirst.action)查询到备案成功的,但是在微信商户平台配置jsapi添加支付授权目录...

闊苡訆涐囍醣
35分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部