【Spring Cloud】git 仓库新的配置是如何刷新到各个微服务的原理步骤

这篇具有很好参考价值的文章主要介绍了【Spring Cloud】git 仓库新的配置是如何刷新到各个微服务的原理步骤。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文描述了在 git 仓库修改了配置之后,新的配置是如何刷新到各个微服务的步骤

前言:

1、假设现有有 3 个微服务,1 个是 配置中心,另外 2 个是普通微服务,服务名称分别如下:

配置中心:confi-server

用户服务:user-service

商品服务:product-service

1. 第一次启动时

1、首先配置中心必须先启动,配置中心第一次启动直接从 git 拉取 master 分支上的配置保存到本地某个文件夹

2、用户服务 user-service 通过配置文件指定要哪个文件如:dev 分支的 application-dev.yml 文件,启动然后访问配置中心,但是配置中心只有 master 分支的配置没有 dev 分支的配置,随后配置中心访问 git 拉取 dev 分支的配置保存到本地,并返回给 user-service 服务

配置中心退出后会删除本地保存的配置文件

3、商品服务 product-service 同样按照 user-service 的方式(不过此时配置中心本地已经缓存了不需要访问 git 了)

此时的配置中心的角色类似于配置文件的保存的地方并返回配置给其它服务

疑问:假设有2个 user-service 服务,一个用dev分支,一个用master分支,这样是不是会引起配置中心 config-server 频繁切换去git上拉取配置呢?

答案:通过观察配置中心的本地文件,发现确实会发生切换,但是即使是100人的开发小组有的人切换到开发环境有的人切换到测试环境,切换也不会至于太频繁,这点姑且暂时可以忍耐!

2. 后续直接在 git 修改配置时

1、当 git 发生文件修改时,配置中心不会更新本地文件,没有任何作为,那么新修改的配置文件怎么达到各个服务中呢?

2、需要在各个服务中全部调用 刷新配置 ,即调用如 http://localhost:9001/actuator/refresh ,调用该接口的意义就是间接告诉配置中心快点去 git 拉取新的配置然后保存到本地然后给我新的配置

每个服务都调用一下也是不小的工作量,特别是服务特别多的时候,不过这就是最原始的配置中心的缺点嘛,后面的新技术当然要修复了

3. 参考资料

自行调试配置中心的本地文件夹

1、在刚启动时会拉取 master 分支

2、在用户服务或商品服务启动时会把它们要求的配置给它们(如果没有就去git上拉取,哪怕是切换)

3、在调用刷新接口时会拉取新的配置给对应的服务文章来源地址https://www.toymoban.com/news/detail-608054.html

到了这里,关于【Spring Cloud】git 仓库新的配置是如何刷新到各个微服务的原理步骤的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring Cloud【Config客户端配置与测试、Config客户端之动态刷新 、什么是Spring Cloud Bus、Docker安装RabbitMQ】(十)

      目录 分布式配置中心_Config客户端配置与测试 为什么要引入bootstrap 

    2024年02月15日
    浏览(43)
  • git仓库迁移代码到新的git仓库

    此操作可以保留git仓库的历史提交记录,开始多仓库版本管理 1.查看当前仓库远程地址的名字。默认就有一个origin,代表远程仓库的名字    git remote  2.查看远程地方url   git remote -v 3.新增远程地址名称    git remote add origin2(随便去,不重复即可) master 4.设置新的远程地址  

    2023年04月16日
    浏览(43)
  • Spring Boot如何实现配置文件的自动加载和刷新?

    在使用Spring Boot开发应用程序时,配置文件是非常重要的组成部分。在不同的环境中,我们可能需要使用不同的配置文件,例如在开发、测试和生产环境中使用不同的配置文件。而且,当我们更改配置文件时,我们希望应用程序能够自动加载和刷新配置文件,而无需重启应用

    2024年02月07日
    浏览(59)
  • 创建一个新的git仓库步骤

    1,在vscode里面打开一个终端 2,创建一个git仓库:  3,将跟踪的文件添加到git中: 4,提交被跟踪的新文件到本地仓库: 5,打开浏览器进入GitHub后台,点击+号,选择New repository创建  6,在红色区域输入名字,点击Create repository提交,最后会出现图二,把它们一一粘贴到终端上

    2024年02月14日
    浏览(46)
  • Git查看当前仓库地址并切换新的仓库地址

    项目更换了仓库地址,Python工程和Java工程(均适用)不重新 git clone 进行克隆仓库,直接切换新的地址。以下实现Git查看当前仓库地址以及Git切换新的仓库地址 方式一:git remote -v 示例: 方式二:git remote show origin 示例: 在 .git 文件所在目录下执行: git remote set-url origin 新仓

    2024年02月11日
    浏览(48)
  • 删除git关联,提交到新的仓库

    要删除git关联并创建一个新的git库,可以按照以下步骤操作: 进入你要处理的本地git仓库目录。 删除与远程仓库的关联: 初始化一个新的git仓库: 添加所有文件到本地仓库: 提交更改: 创建一个新的远程仓库,例如在GitHub上创建一个新的仓库。 将本地仓库与新的远程仓库

    2024年02月15日
    浏览(54)
  • Spring Cloud各个微服务之间为什么要用http交互?难道不慢吗?

    1、为什么要使用http交互? 通用、跨语言支持 HTTP是一种非常通用的协议,几乎所有的编程语言和平台都支持它, 这使得微服务可以使用不同的技术栈,只要它们都支持HTTP协议就可以进行通信。 简单、灵活、了扩展 HTTP协议相对简单,易于理解和实现,并且具有灵活性和可扩

    2024年02月02日
    浏览(47)
  • 武林新秀(一)`git init` 初始化一个新的Git仓库

    git init 是 Git 版本控制系统中用于初始化一个新的 Git 仓库或重新初始化一个现有的仓库的命令。“init” 是 “initialize”(初始化)的缩写。执行此命令后,会创建一个名为 .git 的子目录,其中包含所有的仓库元数据,这使得目录成为一个 Git 仓库。 基本语法: --bare : 创建一

    2024年02月10日
    浏览(58)
  • Spring-Cloud-Gateway-09-动态路由与自动刷新

    Spring-Cloud-Gateway-01-网关基本概念 Spring-Cloud-Gateway-02-请求调用基本流程 Spring-Cloud-Gateway-03-网关自动装配 Spring-Cloud-Gateway-04-HttpWebHandlerAdapter到DispatcherHandler调用流程 Spring-Cloud-Gateway-05-请求到HttpWebHandlerAdapter的调用链路 Spring-Cloud-Gateway-06-DispatcherHandler调用解析 Spring-Cloud-Gateway-07

    2024年02月01日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包