当前位置: 首页 > 编程日记 > 正文

springcloud-spring cloud config统一配置中心

统一配置中心

为什么需要统一配置中心?

统一配置中心顾名思义,就是将配置统一管理,配置统一管理的好处是在日后大规模集群部署服务应用时相同的服务配置一致,日后再修改配置只需要统一修改全部同步,不需要一个一个服务手动维护

统一配置中心的架构图:

1245324-20190113104600455-92984298.png

服务者消费者集群,路由集群Zuul的配置文件可以全部交由config管理,Eureka Server配置是绝对不行的,因为Config配置中心也是作为一个Client服务注册到Eureka Server的,先有Server。

1.配置中心服务器的开发

1.添加依赖
      <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-config-server</artifactId></dependency>
2.添加注解支持@EnableConfigServer
@EnableEurekaClient
@EnableConfigServer
@SpringBootApplication
public class EurekaApplication {public static void main(String[] args) {SpringApplication.run(EurekaApplication.class, args);}
}
3.在远程的仓库创建配置文件(yml,properties,yaml)

在这里我对两个服务者的配置文件进行管理

规则说明:加入你在github仓库添加了一个名为product.properties的配置文件,并且开启了配置中心服务器(假设端口为9999),使用浏览器测试访问:http://localhost:8766/product.properties 是访问不到任何内容的,访问http://localhost:8766/product-xxxxx.properties(xxx随便写)是可以访问到的,这是Config配置中心的规则,下面会说到,另一方面配置文件合并规则,在学习springboot时我们可以将配置文件拆分:主配置文件 application.yml存放公共配置 测试环境:testapp.yml 生产环境:product.yml 使用时根据情况主配置引入不同的副配置文件,这里Config配置中心规则与springboot是相似的。

如下仓库文件:
1245324-20190113104648118-1840904540.png

[product.properties]

eureka.client.service-url.defaultZone=http://peer:8761/eureka,http://peer1:8765/eureka
spring.application.name=eureka-provider

[product-8763.properties]

server.port=8763

[product-8764.properties]

server.port=8764

访问: http://localhost:9999/product-xxxxx.properties 得到公共配置文件

访问: http://localhost:9999/product-8763.properties 公共配置与8763私有配置的合并

访问: http://localhost:9999/product-8764.properties 公共配置与8764私有配置的合并

.properties后缀是可以修改为yml,yaml,json 以对应的格式返回在浏览器上。

4.配置相关的配置文件
#注册到注册中心
eureka.client.service-url.defaultZone=http://localhost:8761/eureka
#默认端口号 8888
server.port=9999
# 实例名
spring.application.name=config
#配置git的远程仓库   https 暂时不支持ssh
spring.cloud.config.server.git.uri=https:xxxxxxx
5.启动配置中心服务

http://localhost:9999/order-a.yml

http://localhost:9999/order-a.yaml

http://localhost:9999/order-a.properties

http://localhost:9999/order-a.json

以上四种访问方式都可以

1245324-20190113105020952-623550927.png

{name}/{profiles:.[^-].}

{name}-{profiles}.json

{label}/{name}-{profiles}.yml

{name}/{profiles}/{label:.*}

{label}/{name}-{profiles}.properties

{label}/{name}-{profiles}.json

{name}/{profile}/{label}/**

{name}/{profile}/{label}/**

说明:

label: 分支名称 默认是master分支

name:文件的服务的名称(自定义的名称)

profiles:不同环境

2.配置中心客户端使用

凡是交由配置中心管理的Client,想要获取配置文件需要添加以下依赖

1.导入相关依赖
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-config-client</artifactId>
</dependency>
2.添加配置
#开启配置中心
spring.cloud.config.enabled=true
#找到配置中心实例
spring.cloud.config.discovery.service-id=CONFIG
#指定名字
spring.cloud.config.name=product
#指定环境 8763或8764 由客户端的不同而改变
spring.cloud.config.profile=8763
#指定分支
spring.cloud.config.label=master
#指定配置中心的uri
spring.cloud.config.uri=http://localhost:9999

注意:spring.cloud.config.uri=xxx必须指定Config配置中心的地址,如果不指定默认则从8888端口fetch配置是不成功的,除非你的配置中心端口就是8888。

3.注意将配置文件名修改为 bootstrap.yml 表示从云端获取配置文件

1245324-20190113104744337-2100730664.png

转载于:https://www.cnblogs.com/mzc1997/p/10262071.html

相关文章:

a-awk外部变量传入,内部变量传出,同时过滤空格及其他字符

变量传递 外部变量传入 lsblk|awk -v A$A -v B$B {print A,B}lsblk | awk {print A,B} A$A B$B 内部变量传出 eval $(lsblk|awk {print "A$1"})eval $(lsblk|awk printf("A%s\n",$1)) 同时过滤空格及其他字符 df -Th|grep ceph- 2>/dev/null|awk -F…

UVa12096.The SetStack Computer

题目链接&#xff1a;http://uva.onlinejudge.org/index.php?optioncom_onlinejudge&Itemid8&pageshow_problem&problem3248 1391605812096The SetStack ComputerAcceptedC0.3022014-07-21 03:43:15The SetStack Computer Background from Wikipedia: \Set theory…

网络设置计算机,怎么重置电脑网络设置

现如今网络已经融入了我们的生活&#xff0c;我们对网络的要求也越来越过了&#xff0c;那么你知道怎么重置电脑网络设置吗?下面是学习啦小编整理的一些关于怎么重置电脑网络设置的相关资料&#xff0c;供你参考。重置电脑网络设置的方法开始→运行→输入&#xff1a;CMD 点击…

centos 学习日记 文件默认权限:umaks

使用方法&#xff1a; [rootkin /]# umask 0022 [rootkin /]# umask -S urwx,grx,orx上面显示的是本机上面文件默认的权限。 第二个好理解。 第一个要注意的是&#xff1a; umask的分值是指"该默认值需要减掉的权限" 第一个数字可以不管他 第二&#xff0c;三&…

linux 基础命令一

linux命令基础 hash&#xff1a;hash操做 shell搜寻到的外部命令的路径结果会缓存至kv(key-value)存储中history&#xff1a;查看历史 history命令:管理命令历史。登录shell时,会读取命令历史文件中记录下的命令:~/.bash_history&#xff0c;而且新执行的命令只会记录在缓存中:…

ceph pool 相关命令

文章目录Pool创建ec pool创建副本pool创建Pool参数创建根故障域及添加osd其他命令Tier相关Pool创建 ec pool创建 创建profile ceph osd erasure-code-profile set $profile_name k$k m$m crush-failure-domainhost crush-root$group_name 创建规则 ceph osd crush rule creat…

临平职高计算机专业高职考大学,临平职高高考再传捷报 本科连续四年蝉联杭州市第一...

又到一年放榜时&#xff0c;几家欢喜几家愁。然而&#xff0c;2018年的高考成绩出来后&#xff0c;可把临平市职业高级中学(以下简称“临平职高”)的师生们乐坏了。正所谓三年寒窗&#xff0c;开出芬芳&#xff1b;三年磨剑&#xff0c;努力未变&#xff1b;三年坚守&#xff0…

音频编辑大师 3.3 注冊名 注冊码

username&#xff1a;cae3_user000注冊码&#xff1a;beslbFVpFEhxvxA0F23xW7heAeWoWjuWhvBIMN0Je1o我试过了&#xff0c;绝对能够用。转载于:https://www.cnblogs.com/mfrbuaa/p/3858221.html

兰戈 —— Rango

2019独角兽企业重金招聘Python工程师标准>>> 一部西部卡通片&#xff0c;据说恶搞了《正午》这部著名的西部片&#xff0c;可惜我没有看过《正午》。非常喜欢这部片子里的音乐&#xff0c;恢宏大气。 剧情&#xff1a; 兰戈&#xff08;约翰尼德普 Johnny Depp 配…

C#/.Net判断是否为周末/节假日

判断节假日请求的Api&#xff1a;http://tool.bitefu.net/jiari/ /// <summary>/// 判断是不是周末/节假日/// </summary>/// <param name"date">日期</param>/// <returns>周末和节假日返回true&#xff0c;工作日返回false</retu…

ceph 部署单机集群

文章目录ceph-deploy部署集群ceph-deploy 部署单机ceph-deploy 创建osdceph osd创建资源池ceph创建rbd块设备ceph创建fs文件系统本文档主要参考ceph官方命令进行部署&#xff0c;使用的时侯ceph-deploy原生命令方式进行集群各个组件的创建&#xff0c;删除&#xff0c;后续会增…

hdu-4302-Holedox Eating-线段树-单点更新,有策略的单点查询

一開始实在是不知道怎么做&#xff0c;后来经过指导&#xff0c;猛然发现&#xff0c;仅仅须要记录某个区间内是否有值就可以。 flag[i]:代表i区间内&#xff0c;共同拥有的蛋糕数量。 放置蛋糕的时候非常好操作&#xff0c;单点更新。 ip&#xff1a;老鼠当前的位置 寻找吃哪一…

华南理工计算机基础知识题,华南理工_计算机应用基础_随堂练习答案(2017年)

华南理工_计算机应用基础_随堂练习答案(2017年) (18页)本资源提供全文预览&#xff0c;点击全文预览即可全文预览,如果喜欢文档就下载吧&#xff0c;查找使用更方便哦&#xff01;19.9 积分&#xfeff;. . . .华南理工-计算机应用基础-随堂练习答案(2017年)第一章 计算机基础知…

python 添加进度条

安装&#xff1a; pip install tqdm使用&#xff1a; from tqdm import tqdm import time for i in tqdm(rang(10)):time.sleep(0.1)转载于:https://www.cnblogs.com/royfans/p/10271496.html

ceph osd 相关命令

混合osd的部署 先部署所有的ssd 在/etc/ceph.conf中最后添加ssd做osd的block大小如下&#xff1a; 比如部署中有两个ssd&#xff0c;则添加 [osd.0] bluestore_block_size xxxx [osd.1] bluestore_block_size xxx 如上的size大小计算如下&#xff0c;如ssd容量为800G&#x…

一万年太久,只争朝夕

好久没有写了&#xff0c;很多东西都已经忘记&#xff0c;不是因为别的&#xff0c;仅仅是觉得经历太多&#xff0c;没有地方装载那么多&#xff0c;想想以前的愿望&#xff0c;想过要当作家、想过要开个小店&#xff0c;但是看看现在&#xff0c;一切都变得遥不可及&#xff0…

上海职称英语和计算机考试时间,上海职称英语考试时间

上海2015年职称英语考试时间为12月25日到2015年1月15日&#xff0c;报名网站为&#xff1a;上海职业能力考试院。2015年如何短时间攻破职称英语考试关键点一&#xff1a;调整好备考心态&#xff0c;树立信心&#xff0c;切记懂乱、随便放弃总的来说&#xff0c;职称英语考生以中…

Caliburn.Micro 资源随时添加

Caliburn.Micro – Hello World http://buksbaum.us/2010/08/01/caliburn-micro-hello-world/ http://blog.csdn.net/xbgzs2010/article/details/18447625 转载于:https://www.cnblogs.com/ifendou/p/3870256.html

ros-kinetic install error: sudo rosdep init ImportError: No module named 'rosdep2'

refer to: https://blog.csdn.net/yueyueniaolzp/article/details/85070093 方法一 将Ubuntu默认python版本设置为2.7方法二 终端输入命令sudo apt-get install python3-rosdep转载于:https://www.cnblogs.com/xbit/p/10275218.html

Android:项目关联Library

为什么80%的码农都做不了架构师&#xff1f;>>> 近日&#xff0c;在做一个人人的第三方小项目。打算直接使用renren 的sdk 进行开发。因为renren的sdk是以android library project 形式发布的&#xff08;关于这种project的内容可以参考android library project&…

winxp运行html代码,关于WinXP系统实现自动化运行的操作技巧

关于WinXP系统实现自动化运行的操作技巧发布时间&#xff1a;2014-06-16 10:00:29 作者&#xff1a;佚名 我要评论与其他系统相比&#xff0c;WinXP系统的自动化运行已经大大改进&#xff0c;根据经验为大家总结了一份关于实现自动化运行的操作技巧&#xff0c;希望对大家…

ACM1881 01背包问题应用

01背包问题动态规划应用 acm1881毕业bg 将必须离开的时间限制看作背包容量&#xff0c;先将他们由小到大排序,然后在排完序的数组中对每个实例都从它的时间限制开始&#xff08;背包容量&#xff09;到它的延长时间进行遍历&#xff1b; 1 #include<iostream>2 #include&…

解决MVC返回Json中日期格式问题

问题&#xff1a;MVC中使用控制器返回JsonResult&#xff0c;如果带有日期字段的对象&#xff0c;浏览器接收到的json中会变成形如/Date(123123123)/格式。如何在easyui等中直接使用是个麻烦事。 解决方法&#xff1a;从源头开始。既然Controller控制器的Json()方法会自动转化&…

eclipse 出现user operation is waiting

project->properties->Builders 将带有 validator的选项全部去掉&#xff0c;然后保存一切就ok了。 转载于:https://www.cnblogs.com/fengnan/p/10276162.html

SHELL 技能树(持续更新)

相关xmind的原始文件已上传至mind-Mapping github,如有需要可自行下载&#xff0c;欢迎批评指正。 关于分布式存储的整体技能的学习历程 可以参考&#xff0c;分布式存储技能图谱

计算机网络 关于网速,关于电脑网速慢的说明

近期接到一些老师反馈&#xff0c;现在上网网速不如以前体验效果好。现就此反馈做一下说明&#xff0c;网速感觉慢是有多方面的原因的&#xff0c;和每个人的电脑环境有很大关系&#xff0c;比如有些终端上装有360、电脑管家之类的流氓程序的话&#xff0c;对终端的影响就很大&…

7月份没啥写的。。。

一整个月没啥写的&#xff0c;代表我啥也没学会啊。。。 没进步啊。。。 光听盗墓笔记的有声小说了。。。 我不对啊。。。我有罪。。。 我不好。。。我检讨。。。 赶紧听完&#xff0c;努力起来吧。。。 |||转载于:https://www.cnblogs.com/hydor/p/3873699.html

输入空格hdu - 1010 - Tempter of the Bone

时间紧张&#xff0c;先记一笔&#xff0c;后续优化与完善。 题意&#xff1a;一个N*M的地图&#xff0c;走过的点不能再走&#xff0c;X为墙弗成走&#xff0c;能否从点S到点D恰好用时T。&#xff08;1 < N, M < 7; 0 < T < 50&#xff09; 标题链接&#xff1a;h…

vue通信、传值

一、通过路由带参数进行传值 ①两个组件 A和B,A组件通过query把orderId传递给B组件&#xff08;触发事件可以是点击事件、钩子函数等&#xff09;this.$router.push({ path: /conponentsB, query: { orderId: 123 } }) // 跳转到B②在B组件中获取A组件传递过来的参数this.$rout…