一、配置中心服务端搭建

1)引入相关Maven坐标

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

2)加入相关注解

//加上@EnableConfigServer注解开启配置服务器的功能
@EnableConfigServer
@EnableEurekaClient

3)相关配置属性

server:
port: 8989
spring:
application:
# 需要指明spring.application.name,这个很重要,这在以后的服务与服务之间相互调用一般都是根据这个name
name: zbq-config-server
# 指定主机名称
# cloud:
# client.hostname: localhost # 在配置文件中注明自己的服务注册中心的地址
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8781/eureka
# 开启除了主机名也可以通过ip来定义注册中心地址
instance:
prefer-ip-address: true
ip-address: localhost
# 定义服务续约任务的调用间隔时间,默认为30秒
lease-renewal-interval-in-seconds: 30
# 定义服务失效的时间,默认为90秒
lease-expiration-duration-in-seconds: 90
# preferIpAddress: true
# hostname: ${spring.cloud.client.ipAddress}
# instance-id: ${spring.cloud.client.ipAddress}:${server.port} # 配置config中心
spring.cloud.config:
server:
# 配置git仓库地址 http方式
# git.uri: https://github.com/zhangboqing/zbq-config-center.git
# 配置git仓库地址 ssh方式
git:
uri: ssh://git@github.com:zhangboqing/zbq-config-center.git
# 跳过ssh校验
# skipSslValidation: true
ignoreLocalSshSettings: true
# 下面两个参数没怎么弄明白,配上不好用,感兴趣的可以研究下
# hostKey: someHostKey
# hostKeyAlgorithm: ssh-rsa
privateKey: |
-----BEGIN RSA PRIVATE KEY-----
你的私钥
-----END RSA PRIVATE KEY-----
# 配置仓库路径下相对搜索位置,可以配置多个
git.searchPaths: zbq/myconfig1,zbq/myconfig2
# 如果Git仓库为公开仓库,可以不填写用户名和密码,如果是私有仓库需要填写
# 访问git仓库的用户名
# username:
# 访问git仓库的用户密码
# password:
# 配置仓库的分支
label: master
#logging:
logging:
level:
root: info
additivity: off
file: /data/home/logs/zbq-config-server/zbq-config-server.log

二、配置中心客户端搭建

1)将项目配置迁移到zbq-config-center中(统一存放配置的项目)

  配置文件的命名必须按照下面的规范

  {application}-{profile}.properties 或 {application}-{profile}.properties 

  application和profile代表什么,看4点!!!

2)引入相关Maven坐标

 <!--spring cloud-->
<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>
<!-- retry -->
<dependency>
<groupId>org.springframework.retry</groupId>
<artifactId>spring-retry</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<!-- actuator监控模块 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

3)加入相关注解

@EnableDiscoveryClient

4)相关配置属性,删除原来项目的application.yml文件,加入bootstrap.yml配置文件,这样就可以读取到远程的配置文件了

##在配置文件中注明自己的服务注册中心的地址
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8781/eureka # 注意:下面配置必须配置在bootstrap.yml或.properties中
# 访问配置信息URL与配置文件的映射关系
# /{application}/{profile}/{label}
# /{application}/{profile}.yml
# /{label}/{application}-{profile}.yml
# /{application}-{profile}.properties
# /{label}/{application}-{profile}.properties
spring:
# 需要指明spring.application.name,这个很重要,这在以后的服务与服务之间相互调用一般都是根据这个name
# 对应配置文件规则中的{application}部分
application.name: zbq-backend
cloud.config:
# 对应配置文件规则中的{profile}部分
profile: dev
# 对应配置文件规则中的{label} 部分
label: master
# 配置中config-server的地址
# 1.通过URI指定配置中心
# uri: http://localhost:8783/
# 2.通过注册中心,来发现注册中心
discovery:
# 开启通过服务访问Config Server的功能
enabled: true
# 指定Config Server注册的服务名
serviceId: zbq-config-server # 失败快速响应与重试
# 开启客户端优先判断Config Server获取是否正常,并快速响应失败内容
fail-fast: true # 设置重试参数
retry:
# 下一间隔的乘数
multiplier: 1.1
# 初始重试间隔时间(单位毫秒),默认为1000
initial-interval: 1000
# 最大间隔时间,默认2000毫秒
max-interval: 2000
# 最大重试次数,默认6次
max-attempts: 6 # 动态刷新配置
# config-client中新增spring-boot-starter-actuator监控模块,其中包含了/refresh端点实现
# 该端点可用于实现客户端重新获取和刷新配置信息
#log
logging:
level:
root: info
additivity: off
file: /data/home/logs/zbq-backend/zbq-backend.log
pattern:
console: "%d{yyyy-MM-dd-HH:mm:ss} [%thread] %-5level %logger- %msg%n"

Spring Cloud之配置中心搭建的更多相关文章

  1. 跟我学SpringCloud | 第七篇:Spring Cloud Config 配置中心高可用和refresh

    SpringCloud系列教程 | 第七篇:Spring Cloud Config 配置中心高可用和refresh Springboot: 2.1.6.RELEASE SpringCloud: Gre ...

  2. 微服务SpringCloud之Spring Cloud Config配置中心Git

    微服务以单个接口为颗粒度,一个接口可能就是一个项目,如果每个项目都包含一个配置文件,一个系统可能有几十或上百个小项目组成,那配置文件也会有好多,对后续修改维护也是比较麻烦,就和前面的服务注册一样,服务 ...

  3. 微服务SpringCloud之Spring Cloud Config配置中心服务化

    在前面两篇Spring Cloud Config配置中心的博客中都是需要指定配置服务的地址url:spring.cloud.config.uri,客户端都是直接调用配置中心的server端来获取配置文 ...

  4. spring cloud --- config 配置中心 [本地、git获取配置文件]

    spring boot      1.5.9.RELEASE spring cloud    Dalston.SR1 1.前言 spring cloud config 配置中心是什么? 为了统一管理配 ...

  5. 玩转Spring Cloud之配置中心(config server &config client)

     本文内容导航: 一.搭建配置服务中心(config server) 1.1.git方式 1.2.svn方式 1.3.本地文件方式 1.4.解决配置中包含中文内容返回乱码问题 二.搭建配置消费客户端( ...

  6. Spring Cloud之注册中心搭建

    一.注册中心服务端搭建 1)引入相关Maven坐标 <dependency> <groupId>org.springframework.cloud</groupId> ...

  7. Spring Cloud Config 配置中心高可用

    详细参见 <Spring Cloud 与 Docker微服务架构实战> p163-9.10 Spring Cloud Config 与 Eureka 配合使用 p163-9.12 Conf ...

  8. Spring Cloud Config 配置中心

    请将远程配置文件的格式写对: 比如使用 *.yml 或者 *.properties yml: testconfig: testvalue properties: testconfig=testvalu ...

  9. Spring Cloud Config配置中心的使用

    一.概述 1. 为什么使用? 1> 配置文件太多,不方便维护 2> 配置文件一般都保存这各种明文显示的密码,无法保证配置内容的安全性,也无法做到按权限分配给个人 3> 更新配置项目需 ...

随机推荐

  1. 守护进程,互斥锁,IPC,队列,生产者与消费者模型

    小知识点:在子进程中不能使用input输入! 一.守护进程 守护进程表示一个进程b 守护另一个进程a 当被守护的进程结束后,那么守护进程b也跟着结束了 应用场景:之所以开子进程,是为了帮助主进程完成某 ...

  2. 洛谷1968美元汇率 dp

    P1968 美元汇率 dp 题目描述 在以后的若干天里戴维将学习美元与德国马克的汇率.编写程序帮助戴维何时应买或卖马克或美元,使他从100美元开始,最后能获得最高可能的价值. 输入输出格式 输入格式: ...

  3. UVALive 7501 Business Cycle(二分)题解

    题意:n个数,有一个起始值,按顺序从第一个开始不断循环取数,如果取完后相加小于0就变为0,最多取p个数,问你得到大于等于值g所需要的最小起始值为多少 思路:这题目爆long long爆的毫无准备,到处 ...

  4. 【做题】cf603E——线段树分治

    首先感谢题解小哥,他在标算外又总结了三种做法. 此处仅提及最后一种做法. 首先考虑题目中要求的所有结点度数为奇数的限制. 对于每一个联通块,因为所有结点总度数是偶数,所以总结点数也必须是偶数的.即所有 ...

  5. 一文读懂 深度强化学习算法 A3C (Actor-Critic Algorithm)

    一文读懂 深度强化学习算法 A3C (Actor-Critic Algorithm) 2017-12-25  16:29:19   对于 A3C 算法感觉自己总是一知半解,现将其梳理一下,记录在此,也 ...

  6. HDU 6155 Subsequence Count(矩阵乘法+线段树+基础DP)

    题意 给定一个长度为 \(n\) 的 \(01\) 串,完成 \(m\) 种操作--操作分两种翻转 \([l,r]\) 区间中的元素.求区间 \([l,r]\) 有多少个不同的子序列. \(1 \le ...

  7. vue中find函数

    let obj = this.role.find(v => v.code === res.company.role)循环 data对象中的role数组 ,每个数组元素用v代替,code为他的键, ...

  8. HDU 1241 Oil Deposits(石油储藏)

    HDU 1241 Oil Deposits(石油储藏) 00 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)   Probl ...

  9. Termux 一款安卓终端模拟器

    Termux官网 https://termux.com/ 用处 提供了一个类似于Linux终端的界面,可以使用apt安装程序.目前我在上面跑了我以前写的一些爬虫脚本,运行完全没有问题. 玩法 玩法还是 ...

  10. pyqt笔记1模块 信号和插槽

    资料 PyQt5图形界面编程 PyQt5指南 模块 PyQt5本身拥有超过620个类和6000函数及方法. QtCore模块涵盖了包的核心的非GUI功能,此模块被用于处理程序中涉及到的 time.文件 ...