Spring Cloud之配置中心搭建
一、配置中心服务端搭建
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之配置中心搭建的更多相关文章
- 跟我学SpringCloud | 第七篇:Spring Cloud Config 配置中心高可用和refresh
SpringCloud系列教程 | 第七篇:Spring Cloud Config 配置中心高可用和refresh Springboot: 2.1.6.RELEASE SpringCloud: Gre ...
- 微服务SpringCloud之Spring Cloud Config配置中心Git
微服务以单个接口为颗粒度,一个接口可能就是一个项目,如果每个项目都包含一个配置文件,一个系统可能有几十或上百个小项目组成,那配置文件也会有好多,对后续修改维护也是比较麻烦,就和前面的服务注册一样,服务 ...
- 微服务SpringCloud之Spring Cloud Config配置中心服务化
在前面两篇Spring Cloud Config配置中心的博客中都是需要指定配置服务的地址url:spring.cloud.config.uri,客户端都是直接调用配置中心的server端来获取配置文 ...
- spring cloud --- config 配置中心 [本地、git获取配置文件]
spring boot 1.5.9.RELEASE spring cloud Dalston.SR1 1.前言 spring cloud config 配置中心是什么? 为了统一管理配 ...
- 玩转Spring Cloud之配置中心(config server &config client)
本文内容导航: 一.搭建配置服务中心(config server) 1.1.git方式 1.2.svn方式 1.3.本地文件方式 1.4.解决配置中包含中文内容返回乱码问题 二.搭建配置消费客户端( ...
- Spring Cloud之注册中心搭建
一.注册中心服务端搭建 1)引入相关Maven坐标 <dependency> <groupId>org.springframework.cloud</groupId> ...
- Spring Cloud Config 配置中心高可用
详细参见 <Spring Cloud 与 Docker微服务架构实战> p163-9.10 Spring Cloud Config 与 Eureka 配合使用 p163-9.12 Conf ...
- Spring Cloud Config 配置中心
请将远程配置文件的格式写对: 比如使用 *.yml 或者 *.properties yml: testconfig: testvalue properties: testconfig=testvalu ...
- Spring Cloud Config配置中心的使用
一.概述 1. 为什么使用? 1> 配置文件太多,不方便维护 2> 配置文件一般都保存这各种明文显示的密码,无法保证配置内容的安全性,也无法做到按权限分配给个人 3> 更新配置项目需 ...
随机推荐
- 【linux下多实例Tomcat+Nginx+redis+mysql环境搭建】
一.搭建环境之前最好自己先创建一个文件夹,再次文件夹下在创建文件夹来安放项目包和Tomcat等应用以及性能测试监控的文件 1.项目存放地址: mkdir export (创建一个文件),mkdir a ...
- iOS 允许后台任务吗?
个人整理 1,用户层: 低电量模式 App后台数据刷新 的开关会影响App后台运行 2, 10分钟时间 后台任务: 在AppDelegate中加入以下代码:不受1影响 - (void)applic ...
- Docker 命令收集
Docker 命令收集 1.删除所有容器 docker rm $(docker ps -a -q) 2.删除所有镜像 docker rmi $(docker images -q) 3.启动镜像 doc ...
- 【索引失效】什么情况下会引起MySQL索引失效
索引并不是时时都会生效的,比如以下几种情况,将导致索引失效: 1.如果条件中有or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因) 注意:要想使用or,又想让索引生效,只能将or条件 ...
- Unity3D学习笔记(二十七):MVC框架下的背包系统(2)
Tools FileTools using System.Collections; using System.Collections.Generic; using UnityEngine; using ...
- Anaconda 安装后配置环境变量
Anaconda 安装后在 cmd 中运算 python 无效, 是环境变量没有生效.正常安装需要有三个,配置好就行. D:\xwapp\ProgramData\Anaconda3 D:\xwapp\ ...
- linux_nmon监控方法
一.介绍 Nmon 工具是 IBM 提供的免费的在AIX与各种Linux操作系统上广泛使用的监控与分析工具.该工具可将服务器的系统资源耗用情况收集起来并输出一个特定的文件,并可利用 excel 分析工 ...
- Java中JSONObject相关操作
maven项目pom配置: <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>js ...
- colgroup和col的区别
转载自:http://blog.csdn.net/carefree31441/article/details/3291397 colgroup和col一般出现在表格当中定义表格单独列的任意属性col能 ...
- testin 测试用例管理平台
应用信息:应用图标,应用名称,版本号,应用包名,系统平台[Android,ios,Web/H5,小程序,快应用]项目成员:成员帐号[邮箱],成员姓名,成员角色,成员职位,状态[激活,未激活],操作[移 ...