搭建SpringCloud配置中心 Config Server
项目地址: 链接:https://pan.baidu.com/s/1Mxo0ltvZbpz_r8mCU-mSpw
提取码:3j4a
问题解答:
SpringCloud Config 分布式配置文件中心
1.为什么要使用分布式配置中心?
产生的背景:在微服务如果使用传统的方式管理配置文件,配置文件管理器非常复杂,如果生产环境配置文件,可能
需要发生改变的时候,重新打war包,重新读取配置信息在jvm内存中
2.什么是分布式配置中心?
在微服务当中使用同一个服务器管理所有服务配置文件信息,能够实现后台可管理,当服务器正在运行的时候,
如果配置文件需要发生改变,可以实现不需要重启服务器实时更改配置文件信息.
3.有哪些分布式配置中心框架? (推荐使用阿波罗和zk)
1.阿波罗携程写分布式配置中心,有图形界面可管理配置文件信息.配置文件信息存放在数据库里面.
2.SpringCloud Config没有后台可管理分布式配置中心,配置文件信息存放在版本控制器里面.
3.使用Zookeeper实现分布式配置中心,持久节点+事件通知
4.分布式配置中心需要哪些组件?
1.Web管理系统--后台可以使用图形界面管理配置文件SpringCloud Config没有图像化管理配置文件
2.存放分布式配置文件服务器(持久存储服务器)--使用版本控制器存放配置文件信息,使用git环境
3.ConfigServer缓存配置文件服务器(临时缓存存放)
4.ConfigClient 读取ConfigServer配置文件信息.
搭建分布式配置中心 SpringCloud Config
1.搭建git环境, 目的:持久化存储配置文件信息 采用码云
git环境上文件夹以项目进行区分
member_config会员服务配置文件
order_config订单服务配置文件
2.公司项目中环境是如何区分?
dev 开发环境
sit 测试环境
pre 预发布环境
prd 准生产环境
uat 验收环境
3.在Git环境上创建配置文件命名规范
会员服务---服务名称---member: 服务名称-环境.properties member-dev.properties
4.默认情况下不能及时的获取实时变更的配置文件信息
springcloud分布式配置中心,可以采用手动刷新或者自动刷新
手动刷新--需要人工调用接口,读取最新配置文件(监控中心) 人工调用/actuator/refresh进行刷新(post请求)
自动刷新--消息总线进行实时通知---springbus
搭建步骤:
1.首先本地安装git (步骤链接如下),注册码云账号
步骤:https://blog.csdn.net/zhangshengqiang168/article/details/100561686
1.新建项目( 分布式配置文件 config )
2.创建项目配置文件夹(memberconfig)
3.创建配置文件(test-configClient-prd.properties和test-configClient-sit.properties)
(此处是配置不同环境的配置文件(测试和准生产))
4.配置文件中分别添加测试配置信息
info=prd.zhang.com info=sit.zhang.com
源码地址 : 链接:https://pan.baidu.com/s/17-cFGA3fJFLF8gcnDZdWXg
提取码:1q9z 具体见解压说明文件
2.搭建分布式配置中心服务端 config-server
(此时Eureka注册中心已配置已启动,注册中心访问地址 http://localhost:8000/eureka 此处事前搭好)
1.pom.xml依赖
<!--SpringBoot整合Eureka客户端组件-->
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<!--SpringBoot整合config-server-->
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-config-server</artifactId>
</dependency>
2.application.properties配置文件配置
#服务端口
server.port=8888
#服务名称
spring.application.name=config-server
#eureka注册中心服务地址
eureka.client.service-url.defaultZone=http://localhost:8000/eureka#config-server读取git环境地址 直接复制码云项目地址
spring.cloud.config.server.git.uri=https://gitee.com/zsqzhang/config.git#码云账号密码(公开的话不用配置账号密码)
spring.cloud.config.server.git.username=******
spring.cloud.config.server.git.password=******#读取的分支环境(之前新建的项目文件夹名称)
spring.cloud.config.server.git.search-paths=memberconfig
#读取分支类型 注意看所处码云分支类型
spring.cloud.config.label=master
3.新建启动类AppConfigServer
@SpringBootApplication
@EnableEurekaClient
@EnableConfigServer //开启config server服务器端功能
public class AppConfigServer {public static void main(String[] args) {SpringApplication.run(AppConfigServer.class, args);}
}
4.启动config-server服务端项目 访问 : ip+端口/码云新建配置文件名称 (即可访问当配置文件信息) ,服务端搭建成功
访问 http://localhost:8888/test-configClient-sit.properties 此接口会根据码云修改,实时更新
3.搭建分布式配置中心客户端 config-client
1.添加pom.xml依赖
<!--SpringBoot整合config-client-->
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-config-client</artifactId>
</dependency>
<!--actuator监控中心-->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--SpringBoot整合Eureka客户端组件-->
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<!--SpringBoot整合WEB组件-->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>
2.新建配置文件 bootstrap.properties
#服务端口
server.port=8882#服务名称 码云配置文件test-configClient-prd.properties 的项目名称 test-configClient
spring.application.name=test-configClient#读取版本环境 码云配置文件test-configClient-prd.properties 的环境 prd
spring.cloud.config.profile=prd#读取config-server环境 读取的配置中心名称
spring.cloud.config.discovery.service-id=config-server#开启读取权限
spring.cloud.config.discovery.enabled=true
##eureka注册中心服务地址
eureka.client.service-url.defaultZone=http://localhost:8000/eureka
#监控中心开启所有端点
management.endpoints.web.exposure.include=*
3.添加测试类TestController
@RestController
@RefreshScope //刷新 RefreshScope用新的环境参数重新生成Bean
public class TestController {@Value("${info}")private String info;@RequestMapping("/getinfo")public String getInfo(){return info;}
}
4.添加启动类APPConfigClient
@SpringBootApplication
@EnableEurekaClient
public class AppConfigClient {public static void main(String[] args) {SpringApplication.run(AppConfigClient.class,args);}
}
5.启动项目 调用接口 http://localhost:8882/getinfo 访问到配置信息
6.修改码云配置文件test-configClient-prd.properties info的内容
7.使用postman调用监控接口,手动刷新配置,接口地址http://localhost:8882/actuator/refresh post请求
8.再次调用 http://localhost:8882/getinfo 访问到配置信息
搭建SpringCloud配置中心 Config Server相关推荐
- springcloud 分布式配置中心 config server config client
---------------------------------------------------------------------------------------------------- ...
- SpringCloud配置中心-Config
本文主要讨论原理,不涉及使用示例. 一 搭建Config Server SpringCloud Config支持通过git.svn等搭建配置中心.因为目前使用git管理代码比较常见,所以接下来介绍通过 ...
- 六、springcloud之配置中心Config
一.配置中心提供的核心功能 Spring Cloud Config为服务端和客户端提供了分布式系统的外部化配置支持.配置服务器为各应用的所有环境提供了一个中心化的外部配置.它实现了对服务端和客户端对S ...
- SpringCloud学习系列之三-----配置中心(Config)文件修改后,客户端动态刷新(Refresh)
注意啦,注意啦,注意啦 根据大神的教导来实现的:想看大神的去–>我是大神,神龙见首不见尾? 前言 在上一篇里了解简单的Spring Cloud Config的使用.不过还是不完整,各位看官请多多 ...
- 分布式配置中心-Config
文章目录 一.常规的配置设置方式 1.传统配置管理的缺点 二.分布式配置中心--Config 1.Config的配置文件命名规则 2.config小demo (1)前期准备 1)创建一个git项目 2 ...
- iframe的src动态修改并刷新_微服务中配置中心Config+消息总线Bus,实现分布式自动刷新配置
技术/杨33 一.分布式配置中心Config 一套集中的.动态的配置管理,实现统一配置微服务中的每个子服务. Spring Cloud Config为微服务架构提供了集中化的外部配置支持,配置服务器为 ...
- SpringCloud配置中心内容加密
转载自 SpringCloud配置中心内容加密 从配置获取的配置默认是明文的,有些像数据源这样的配置需要加密的话,需要对配置中心进行加密处理. 下面使用对称性加密来加密配置,需要配置一个密钥,当然也可 ...
- SpringCloud配置中心客户端读取配置
转载自 SpringCloud配置中心客户端读取配置 微服务连接配置中心来实现外部配置的读取. 引入依赖 <dependencies><dependency><group ...
- Nacos教程_3 整合SpringCloud(配置中心+服务发现)
教程原稿 https://gitee.com/fakerlove/joker-nacos 文章目录 3. 整合SpringCloud(配置中心+服务发现) 3.1 写配置 3.2 创建父工程demo ...
最新文章
- 宏基因组公众号7月精选文章目录
- c++ 多重背包状态转移方程_背包问题之零钱兑换
- #51CTO学院四周年#其实、其实,我就是来吐槽的”
- Linux 中 awk命令应用
- 51nod 1103 N的倍数 思路:抽屉原理+前缀和
- 高级UI-画笔Paint
- 【渝粤教育】国家开放大学2018年春季 0177-22T电机学(二) 参考试题
- 微软的正则表达式教程(一):正则表达式简介
- 所需依赖_注意细节,阿里架构师一文详解SpringDI的四种依赖注入方式
- ftp服务器通常提供文件上传和,基于FTPClient的文件上传至Nginx服务器
- VPX单板计算机xPower 6110
- 计算机游戏设计专业世界大学排名,看过来,世界五大顶尖游戏设计大学在这里...
- 河南省计算机基础考试题库,计算机基础考试题库
- 华为光猫虚拟服务器,高兴得要哭了!!!!研究了N天,终于把我的华为 光猫救回来了...
- 京东智能客服言犀启发式问答技术探秘
- Linux的磁盘分区、基本目录结构
- 天梯赛-愿天下有情人都是失散多年的兄妹-题解
- 《乱世中的美神》梁衡
- 好看的emoji表情
- java 读excel 流_Java中使用POI读取大的Excel文件或者输入流时发生out of memory异常参考解决方案...
热门文章
- [蓝桥杯]测试题 E 算法提高 我们的征途是星辰大海 题解和C++示例代码
- 一文读懂什么是CTO、技术VP、技术总监、首席架构师
- 大家好,介绍一下,这是我的新朋友@VP
- Mybatis实战练习六【批量删除Mybatis参数传递】
- 5.4 控制器的功能和工作原理
- 【BZOJ1124】Mafia(POI2008)-环套树DP
- 京东校园招聘2019.04.13 第一题 01序列拉齐
- tensorflow中的正确率是怎么来的??
- ORA-01436 与 层次查询CONNECT BY
- java 音频转换_java实现音频转换