在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。
在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),
也支持放在远程Git仓库中。了解springcloud架构可以加求求:三五三六二四七二五九,在spring cloud config 组件中,
分两个角色,一是config server,二是config client。
二、构建Config Server
父maven工程省略,父pom文件:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.forezp</groupId> <artifactId>sc-f-chapter6</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>pom</packaging> <modules> <module>config-server</module> <module>config-client</module> </modules> <name>sc-f-chapter6</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.3.RELEASE</version> <relativePath/> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> <spring-cloud.version>Finchley.RELEASE</spring-cloud.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
创建一个spring-boot项目,取名为config-server,其pom.xml如下:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.forezp</groupId> <artifactId>config-server</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>config-server</name> <description>Demo project for Spring Boot</description> <parent> <groupId>com.forezp</groupId> <artifactId>sc-f-chapter6</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
在程序的入口Application类加上@EnableConfigServer注解开启配置服务器的功能,代码如下:
@SpringBootApplication @EnableConfigServer public class ConfigServerApplication { public static void main(String[] args) { SpringApplication.run(ConfigServerApplication.class, args); } }
需要在程序的配置文件application.properties文件配置以下:
spring.application.name=config-server server.port=8888 spring.cloud.config.server.git.uri=https://github.com/forezp/SpringcloudConfig/ spring.cloud.config.server.git.searchPaths=respo spring.cloud.config.label=master spring.cloud.config.server.git.username= spring.cloud.config.server.git.password=
spring.cloud.config.server.git.uri:配置git仓库地址
spring.cloud.config.server.git.searchPaths:配置仓库路径
spring.cloud.config.label:配置仓库的分支
spring.cloud.config.server.git.username:访问git仓库的用户名
spring.cloud.config.server.git.password:访问git仓库的用户密码
如果Git仓库为公开仓库,可以不填写用户名和密码,如果是私有仓库需要填写,本例子是公开仓库,放心使用。
远程仓库https://github.com/forezp/SpringcloudConfig/ 中有个文件config-client-dev.properties文件中有一个属 性:
foo = foo version 3
启动程序:访问http://localhost:8888/foo/dev
1
2
|
{ "name" : "foo" , "profiles" :[ "dev" ], "label" : "master" ,
"version" : "792ffc77c03f4b138d28e89b576900ac5e01a44b" , "state" : null , "propertySources" :[]}
|
明配置服务中心可以从远程程序获取配置信息。
http请求地址和资源文件映射如下:
/{application}/{profile}[/{label}]
/{application}-{profile}.yml
/{label}/{application}-{profile}.yml
/{application}-{profile}.properties
/{label}/{application}-{profile}.properties
三、构建一个config client
重新创建一个springboot项目,取名为config-client,其pom文件:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.forezp</groupId> <artifactId>config-client</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>config-client</name> <description>Demo project for Spring Boot</description> <parent> <groupId>com.forezp</groupId> <artifactId>sc-f-chapter6</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
其配置文件bootstrap.properties:
spring.application.name=config-client spring.cloud.config.label=master spring.cloud.config.profile=dev spring.cloud.config.uri= http://localhost:8888/ server.port=8881
spring.cloud.config.label 指明远程仓库的分支
spring.cloud.config.profile
dev开发环境配置文件
test测试环境
pro正式环境
spring.cloud.config.uri= http://localhost:8888/ 指明配置服务中心的网址。
程序的入口类,写一个API接口“/hi”,返回从配置中心读取的foo变量的值,代码如下:
@SpringBootApplication @RestController public class ConfigClientApplication { public static void main(String[] args) { SpringApplication.run(ConfigClientApplication.class, args); } @Value("${foo}") String foo; @RequestMapping(value = "/hi") public String hi(){ return foo; } }
打开网址访问:http://localhost:8881/hi,网页显示:
foo version 3
这就说明,config-client从config-server获取了foo的属性,而config-server是从git仓库读取的,如图:
相关推荐
wpf 二维码生成 可设置容错率
深度学习驱动的DL00359-CNN水稻病虫害自动识别系统:助力种植用户精准识别虫害,深度学习驱动的DL00359-CNN水稻病虫害自动识别系统:助力种植用户精准识别虫害,DL00359-深度学习CNN水稻病虫害自动识别系统 本识别项目通过对于用户所上传的水稻图片进行分析,识别出相应的病虫害,通过这种方法帮助种植用户进行虫害的识别 ,DL00359; 深度学习; CNN; 水稻病虫害自动识别系统; 图片分析; 病虫害识别,《深度学习CNN在水稻病虫害自动识别中的应用》
首页界面提供了广告能播界面、金融保险推荐、理财资讯、银行网点信息。导航栏中通过金融保险、银行网点和金融保险资讯链接,查看具体的内容。用户还可以对金融保险进行收藏、评论的操作在个人中心中。管理个人的资金账户,并进行转入资金或者购买金融保险的操作,每一笔操作。系统都进行记录,并在个人中心可以查看收藏的记录以及发布咨询问题。 管理员登录后台后,具有用户管理、账户资金管理、转入资金管理、购买金融保险管理、金融保险管理、银行网点管理、系统管理的权限。管理员通过后台发布金融保险和理财资讯,App端可以查看对应的信息。
微信小程序-计划时钟-从零到一完整实现资源
# 踏入C语言的奇妙编程世界 在编程的广阔宇宙中,C语言宛如一颗璀璨恒星,以其独特魅力与强大功能,始终占据着不可替代的地位。无论你是编程小白,还是有一定基础想进一步提升的开发者,C语言都值得深入探索。 C语言的高效性与可移植性令人瞩目。它能直接操控硬件,执行速度快,是系统软件、嵌入式开发的首选。同时,代码可在不同操作系统和硬件平台间轻松移植,极大节省开发成本。 学习C语言,能让你深入理解计算机底层原理,培养逻辑思维和问题解决能力。掌握C语言后,再学习其他编程语言也会事半功倍。 现在,让我们一起开启C语言学习之旅。这里有丰富教程、实用案例、详细代码解析,助你逐步掌握C语言核心知识和编程技巧。别再犹豫,加入我们,在C语言的海洋中尽情遨游,挖掘无限可能,为未来的编程之路打下坚实基础!
# 踏入C语言的奇妙编程世界 在编程的广阔宇宙中,C语言宛如一颗璀璨恒星,以其独特魅力与强大功能,始终占据着不可替代的地位。无论你是编程小白,还是有一定基础想进一步提升的开发者,C语言都值得深入探索。 C语言的高效性与可移植性令人瞩目。它能直接操控硬件,执行速度快,是系统软件、嵌入式开发的首选。同时,代码可在不同操作系统和硬件平台间轻松移植,极大节省开发成本。 学习C语言,能让你深入理解计算机底层原理,培养逻辑思维和问题解决能力。掌握C语言后,再学习其他编程语言也会事半功倍。 现在,让我们一起开启C语言学习之旅。这里有丰富教程、实用案例、详细代码解析,助你逐步掌握C语言核心知识和编程技巧。别再犹豫,加入我们,在C语言的海洋中尽情遨游,挖掘无限可能,为未来的编程之路打下坚实基础!
网页设计期末大作业+html+css,个人大三设计项目、经导师指导并认可通过的高分设计项目,评审分99分,代码完整确保可以运行,小白也可以亲自搞定,主要针对计算机相关专业的正在做课程设计大作业的学生和需要项目实战练习的学习者,可作为课程设计、期末大作业。 网页设计期末大作业+html+css网页设计期末大作业+html+css网页设计期末大作业+html+css网页设计期末大作业+html+css网页设计期末大作业+html+css网页设计期末大作业+html+css网页设计期末大作业+html+css网页设计期末大作业+html+css网页设计期末大作业+html+css网页设计期末大作业+html+css网页设计期末大作业+html+css网页设计期末大作业+html+css网页设计期末大作业+html+css网页设计期末大作业+html+css网页设计期末大作业+html+css网页设计期末大作业+html+css网页设计期末大作业+html+css网页设计期末大作业+html+css网页设计期末大作业+html+css网页设计期末大作业+html+css网页设计期末大作业+
非线性磁链观测器与PLL仿真模型深度解析:收敛性强,经典文献灵感下的电压补偿与快速收敛复现模型,非线性磁链观测器与PLL仿真模型:详细公式推导及收敛性优化,纯手工复现模型的效果评估,非线性磁链观测器+PLL仿真模型与观测器公式详细推导,非线性磁链观测器收敛性极好。 并根据经典lunwen在d,q轴加入了电压补偿,在低于100r min时给d轴加脉振电压加速其观测器的收敛。 仿真效果较好,快速收敛。 纯手工搭建,根据经典lunwen复现的模型。 ,非线性磁链观测器; PLL仿真模型; 观测器公式推导; 收敛性极好; 电压补偿; 脉振电压加速; 仿真效果快速收敛; 纯手工搭建模型。,非线性磁链观测器与PLL仿真模型:详解收敛性极佳的观测器公式推导与电压补偿策略
1、文件内容:xerces-j2-javadoc-2.11.0-17.el7_0.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/xerces-j2-javadoc-2.11.0-17.el7_0.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、更多资源/技术支持:公众号禅静编程坊
COMSOL 6.1激光超声仿真模型:探究激光激发超声波产生瑞利波数值模拟的新功能及优化,COMSOL 6.1激光超声仿真研究:激光激发瑞利波精确数值模拟,仅限使用V6.1及以上版本打开模型。,COMSOL激光超声仿真:激光激发超声波的产生瑞利波的数值模拟 版本为6.1,低于此版本打不开此模型 ,COMSOL激光超声仿真;激光激发超声波;瑞利波数值模拟;版本6.1,COMSOL 6.1版激光超声仿真:激发瑞利波数值模拟的研究工具
deepseek最新资讯,配置方法,使用技巧,持续更新中
一,开发环境安装 1.把电脑的防火墙关闭了 各种安全相关的软件关了 2. anaconda安装 : qq群下载 或者自己去官网 一直点下一步 不要选路径 3.安装pycharm: qq群下载 或者自己去官网 二,项目环境安装 1. https://github.com/ultralytics/yolov5 下载yolov5的项目框架 2. 命令行输入nvidia-smi 查看CUDA版本 torch官网: https://pytorch.org/get-started/previous-versions/ 下载符合设备GPU版本的torch 3. 下载yolov5依赖的库: pip install -r requirements.txt 或者使用清华源下载yolov5依赖的库: pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
2024免费微信小程序毕业设计成品,包括源码+数据库+往届论文资料,附带启动教程和安装包。 启动教程:https://www.bilibili.com/video/BV1BfB2YYEnS 讲解视频:https://www.bilibili.com/video/BV1BVKMeZEYr 技术栈:Uniapp+Vue.js+SpringBoot+MySQL。 开发工具:Idea+VSCode+微信开发者工具。
COMSOL环境下应力作用下瓦斯渗透运移模型的建立及研究——流固耦合物理场的分析与PDE+结构力学模块应用,应力作用下COMSOL岩层开挖瓦斯渗透运移模型:流固耦合物理场考虑与PDE+结构力学模块应用研究,comsol岩层开挖作用下瓦斯渗透运移模型,考虑应力作用下的渗透率变化,流固耦合物理场,使用pde+结构力学模块,参考相关文献建立。 ,核心关键词:COMSOL;岩层开挖;瓦斯渗透运移模型;应力作用;渗透率变化;流固耦合物理场;PDE+结构力学模块;参考文献。,应力作用下瓦斯渗透运移模型研究
2024免费微信小程序毕业设计成品,包括源码+数据库+往届论文资料,附带启动教程和安装包。 启动教程:https://www.bilibili.com/video/BV1BfB2YYEnS 讲解视频:https://www.bilibili.com/video/BV1BVKMeZEYr 技术栈:Uniapp+Vue.js+SpringBoot+MySQL。 开发工具:Idea+VSCode+微信开发者工具。
deepseek最新资讯、配置方法、使用技巧,持续更新中
基于共享储能电站的江苏省工业用户日前优化经济调度与容量配置策略,基于共享储能电站的江苏省工业用户日前优化经济调度与容量配置研究,MATLAB代码:基于共享储能电站的工业用户日前优化经济调度 关键词:共享储能 储能电站 容量优化配置 充放电优化 日前优化调度 参考文档:《基于共享储能电站的工业用户日前优化经济调度》 仿真平台:MATLAB+CPLEX 主要内容:代码主要做的是一个共享储能电站的优化调度问题,考虑在工业用户侧装设共享电站,从而满足不同工业用户的储能容量需求,同时,共享储能电站的容量是未知的,因此模型还涉及到容量优化配置的问题,即先配置再调度,所以内容十分丰富,由于模型中还出现了非线性项,考虑以Big-M法对模型进行线性化处理,通过协调各用户使用共享储能电站进行充电和放电的功率, 实现用户群日运行成本最优。 最后以江苏省 3 个工业用户进行算例仿真,求解效果与lunwen基本一致。 ,关键词:共享储能; 储能电站; 容量优化配置; 充放电优化; 日前优化调度; 工业用户; 江苏省; Big-M法; 线性化处理; 运行成本最优。,基于共享储能电站的工业用户日前优化调度策略
1、文件内容:xml-commons-resolver-javadoc-1.2-15.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/xml-commons-resolver-javadoc-1.2-15.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、更多资源/技术支持:公众号禅静编程坊
多属性决策判决算法在异构网络(GSM、TDS、LTE)垂直切换中的Matlab仿真研究:操作录像与参考分析,多属性决策判决算法在异构网络(GSM、TDS、LTE)垂直切换中的Matlab仿真研究:操作录像与参考分析,多属性决策判决算法的异构网络垂直切matlab仿真,异构网络为GSM,TDS,LTE,操作录像+参考 ,核心关键词: 多属性决策;判决算法;异构网络;垂直切换;GSM;TDS;LTE;Matlab仿真;操作录像;参考。,多属性决策异构网络垂直切换的Matlab仿真与录像操作研究
基于SMIC 40nm工艺库的先进芯片技术,SMIC 40nm工艺库技术细节揭秘:引领半导体产业新革命,smic40nm工艺库 ,smic40nm; 工艺库; 芯片制造; 纳米技术,SMIC 40nm工艺库:领先技术驱动的集成电路设计基础