SpringCloud Config 分布式配置中心

SpringCloud Config 分布式配置中心

  • 概述
    • 分布式系统面临的——配置问题
    • ConfigServer的作用
  • Config服务端配置
  • Config客户端配置

可以有一个非常轻量级的集中式管理来协调这些服务

概述

分布式系统面临的——配置问题

微服务意味着要将单体应用中的业务拆分成一个个字服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要的配置信息才能运行,所以一套集中式的、动态的配置管理设施是必不可少的。SpringCloud提供了ConfigServer来解决这个问题,每一个微服务自己带着一个application.yaml,上百个配置文件的管理非常麻烦

ConfigServer的作用

在这里插入图片描述
SpringCloud Config为微服务架构中的微服务提供集中化的外部配置支持,配置服务器为各个不同微服务应用的所有环境提供了一个中心化的外部配置

可以使得:编码与配置分离;可以处理动态的多种环境的切换,更加灵活

Config分为服务端和客户端

服务端也称为分布式配置中心,它是一个独立的微服务应用,用来连接配置服务器并为客户端提供获取配置信息,加密/解密信息等访问接口;

客户端通过指定的配置中心来管理应用资源,以及与业务相关的配置内容,并在启动的时候从配置中心获取和加载配置信息配置服务器默认采用git来配置存储信息,有助于对环境进行配置进行版本管理,并且可通过git客户端工具来方便的管理和访问配置内容

在这里插入图片描述
在这里插入图片描述

Config服务端配置

在这里插入图片描述

  1. 用自己的github账号在github上新建一个名为microservicecloud-config的新Repository

  2. 由上一步获得SSH协议的git地址

  3. 本地硬盘目录上新建git仓库并clone()

  4. 在本地microservicecloud-config里面新建一个application.yml
    在这里插入图片描述

  5. 将上一步的YML文件推送到github上

  6. 新建Module模块microservicecloud-config-3344,它即为Cloud的配置中心模块

  7. POM中添加config-server依赖
    在这里插入图片描述

  8. YML
    在这里插入图片描述

  9. 主启动类Config_3344_StartSpringCloudApp,加入新注解@EnableConfigServer
    在这里插入图片描述

  10. windows下修改hosts文件,增加映射

  11. 测试通过Config微服务是否可以从github上获取配置内容
    在这里插入图片描述

  12. 配置读取规则

Config客户端配置

在这里插入图片描述

  1. 在本地microservicecloud-config路径下新建文件microservicecloud-config-client.yml
    在这里插入图片描述
    红色的部分是关键信息,dev端口号8201,test端口号8202,根据不同的配置切换得到不同的端口
    在这里插入图片描述

  2. microservicecloud-config-client.yml内容

  3. 将上一步提交到GitHub中

  4. 新建microservicecloud-config-client-3355

  5. POM添加config依赖
    在这里插入图片描述

  6. bootstrap.yml
    application.yml是用户及的资源配置项;bootstrap.yml是系统级的,优先级更加高

Spring Cloud会创建一个’Bootstrap Context’,作为Spring应用的’Application
Context’的父上下文。初始化的时候,‘Bootstrap
Context’负责从外部源加载配置属性并解析配置。这两个上下文共享一个外部获取的’Environment’。
'Bootstrap’属性有高优先级,默认情况下,它们不会被本地配置覆盖。'Bootstrap Context’和’Application
Context’有着不同的约定 所以新增一个bootstrap.yml文件,保证’Bootstrap
Context’和’Application Context’配置的分离

在这里插入图片描述

  1. application.yml,只需要配置一个名字即可
    在这里插入图片描述

  2. windows下修改hosts文件,增加映射

  3. 新建rest类,验证是否能从GitHub上读取配置
    在这里插入图片描述

  4. 主启动类
    在这里插入图片描述

测试
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/8920.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux不同引号的含义(随手记)

单引号: 所见即所得,单引号里面的内容会原封不动输出. echo test--hostname--$(hostname)--{1..5} test--hostname--$(hostname)--{1..5}双引号: 和单引号类似,对双引号里面的特殊符号会进行解析,对于{}花括号(通配符)没有解析. echo "test--host…

python如何整体缩进

python自带编辑器的缩进和取消缩进快捷键: 整体缩进 Ctrl【 整体取消缩进 Ctrl】 pycharm编辑器的缩进和取消缩进快捷键: 整体缩进: tab 整体取消缩进: tabshift

HDMI ARC功能详解及应用介绍

一、HDMI HDMI(High-Definition Multimedia Interface,高清多媒体接口),是一种专用的音频/视频接口,用于发送未压缩的视频数据和压缩/未压缩的音频数据。HDMI是模拟视频标准的数字替代品。HDMI视频和音频信号传输通道采用了TMDS(T…

【经验总结】Vue2中的全局变量(store

需求场景 需要在vue中存储一个可变的,可读写的全局变量在不同的js、页面中均可调用和读写 技术:使用vue的store 用法总结 一、定义变量 1、找到vue的/src/store路径,在modules文件夹下创建文件(这里便于测试创建demo.js&…

51单片机入门:DS1302时钟

51单片机内部含有晶振,可以实现定时/计数功能。但是其缺点有:精度往往不高、不能掉电使用等。 我们可以通过DS1302时钟芯片来解决以上的缺点。 DS1302时钟芯片 功能:DS1302是一种低功耗实时时钟芯片,内部有自动的计时功能&#x…

十二届蓝桥杯Python组3月中/高级试题 第二题

** 十二届蓝桥杯Python组3月中/高级试题 第二题 ** 第二题(难度系数 3,20 个计分点) 编程实现: 给定一个正整数,判断这个正整数是否能被5整除。 输入描述:输入一个正整数n 输出描述:如果n可以…

SpringBoot启动流程源码解析

目录 一、SpringApplication构造方法解析 1. web应用类型 2. BootstrapRegistryInitializer 3. ApplicationContextInitializer 4. ApplicationListener 5. 推断Main方法所在类 二、SpringApplication.run(String... args)方法解析 1.创建DefaultBootstrapContext 2.获…

订单超时自动取消的实践方案

1、定时任务方案 方案流程: 每隔 30 秒查询数据库,取出最近的 N 条未支付的订单。 遍历查询出来的订单列表,判断当前时间减去订单的创建时间是否超过了支付超时时间,如果超时则对该订单执行取消操作。 定时任务方案工程实现相…

基于AC-YOLO的路面落叶检测方法

基于AC-YOLO的路面落叶检测方法 A Road Leaf Detection Method based on AC-YOLO 完整下载链接:基于AC-YOLO的路面落叶检测方法 文章目录 基于AC-YOLO的路面落叶检测方法摘要第一章 引言1.1 研究背景1.2 研究意义1.3 相关工作 第二章 AC-YOLO算法介绍2.1 目标检测技术综述2.2…

【Vue】vue中将 html 或者 md 导出为 word 文档

原博主 xh-htmlword文档 感谢这位大佬的封装优化和分享,亲测有用!可以去看大佬👇的说明! 前端HTML转word文档,绝对有效!!! 安装 npm install xh-htmlword导入 import handleEx…

远动通讯屏的作用

远动通讯屏的作用 远动通讯屏有时有称为调度数据网柜,远动通讯屏具体干啥作用?远动通讯屏是以计算机为基础的生产过程与调度自动化系统,可以对现场的运行设备进行监视和控制、以实现数据采集、设备测量、参数调节以及各类信号报警等各项功能。…

Spring MVC、Boot、Cloud:一站式对比与解析

Spring MVC、Boot、Cloud:一站式对比与解析 文章目录 Spring MVC、Boot、Cloud:一站式对比与解析一、SpringMVC二、SpringBoot三、SpringCloud四、从多个方面看1、定位和功能:2、依赖管理:3、开发效率:4、项目结构和维…

git--.gitignore--使用/详解/实例

简介 本文介绍git的.gitignore忽略文件的用法。 项目中并不是所有文件都需要保存到版本库中的,例如“target”目录及目录下的文件就可以忽略。 忽略某个文件(不提交到版本库的方法):在Git工作区的根目录下创建一个.gitignore文件…

上海市计算机学会竞赛平台2022年4月月赛丙组闰年的判定

题目描述 给定一个正整数 𝑦y 表示一个年份,请判定 𝑦y 年是否为闰年,闰年分普通闰年与世纪闰年: 普通闰年的年份是 44 的倍数,但不能是 100100 的倍数;世纪闰年的年份是 400400 的倍数。 输…

用webui.sh安装报错No module named ‘importlib.metadata‘

安装sdweb报错,出现No module named importlib.metadata: glibc version is 2.35 Cannot locate TCMalloc. Do you have tcmalloc or google-perftool installed on your system? (improves CPU memory usage) Traceback (most recent call last):File…

Pytorch实现扩散模型【DDPM代码解读篇2】

扩散的代码实现 本文承接 Pytorch实现扩散模型【DDPM代码解读篇1】http://t.csdnimg.cn/aDK0A 主要介绍“扩散是如何实现的”。代码逻辑清晰,可快速上手学习。 # 扩散的代码实现 # 扩散过程是训练部分的模型。它打开了一个采样接口,允许我们使用已经…

【线性回归】

1. 简单线性回归 y ax b double[] x {540, 360, 240}; double[] y {205, 325, 445};问题 根据double[] x 和 double[] y ,计算y ax b中a和b的值 解决方法 最小二乘法:让距离(实验值和理论值的差值)的平方和最小 即&…

堆的基本操作(c语言实现)

1.堆的基本操作 1.1定义堆 typedef int HPDataType;//堆中存储数据的类型typedef struct Heap {HPDataType* a;//用于存储数据的数组int size;//记录堆中已有元素个数int capacity;//记录堆的容量 }HP;1.2初始化堆 然后我们需要一个初始化函数,对刚创建的堆进行初…

【C语言】路漫漫其修远兮,深入[指针]正当下

一. 指针初步 1.概念定义 地址:我们在内存中开辟空间时,为了方便后续访问,每个数据有确切的地址。 指针:指向数据的地址,并将其地址储存在指针变量中。 2.基本运算符 • 取地址操作符(&) …

stm32F103C8T6裸机如何提高响应速度

思路就是:将主函数的程序分为几块,不使用死延时函数,利用定时器中断,每1MS中断一次,然后中断1000次之后,过去了一秒钟,将1S标志位置1,然后主函数接收到之后,运行1S任务 …