SpringCloud之配置中心Config
admin
2023-07-04 16:04:36
0

commons 工程
commons 工程 - POM 文件

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0

com.zwc
springcloud-config-git-commons
1.0

springcloud-config-git-commons
ZFX代理申请www.fx61.com/brokerlist/zfx.html公用工程

jar



UTF-8

1.8

Cairo-SR3

Finchley.RELEASE












io.spring.platform
platform-bom
${platform-bom.version}
pom
import



org.springframework.cloud
spring-cloud-dependencies
${spring-cloud-dependencies.version}
pom
import




    
        
            org.springframework.boot
            spring-boot-maven-plugin
        
    


配置一些共用依赖
commons 工程 - 项目结构
配置文件
  创建一个 Git 库,里面存放配置文件,文件夹名称为:config-repo;这里模拟不同的环境,所以分别构建了
  dev(开发)、uat(测试)以及 online(线上)三种不同的配置文件;此文件夹存在此项目的根目录中

  • springcloud-config-git
      - config-repo
        - system-dev.properties
        - system-online.properties
        - system-uat.properties
    • springcloud-config-git-commons
    • springcloud-config-git-service
      service 工程
        ① 此工程下有两个模块:一个 server,一个 client
      server(获取远程的配置信息)
      server - POM 文件

      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      4.0.0


      com.zwc
      springcloud-config-git-service
      1.0


      com.zwc
      springcloud-config-git-server-service
      1.0

      springcloud-config-git-server-service
      config server

      jar







      com.zwc
      springcloud-config-git-commons
      1.0



      org.springframework.cloud
      spring-cloud-config-server






      org.springframework.boot
      spring-boot-maven-plugin




      主要加入 spring-cloud-config-server 依赖
      server - application.yml 配置文件
      端口
      server:
      port: 8000
      spring:
      application:
      应用名称
      name: config-git-server
      cloud:
      config:
      server:
      git:
      仓库地址
      对应 {label} 部分,即 Git 的分支
      label: master
      仓库文件夹名称,多个以逗号分隔
      search-paths: springcloud-config-git/config-repo
      git 仓库用户名(公开库可以不用填写)
      username:
      git 仓库密码(公开库可以不用填写)
      password:
      注意这里 uri 只能写到仓库名
      如果配置文件在仓库中多层目录下,那么 search-paths 就从根目录开始写起
      server - 启动类
      package com.zwc;
      import org.springframework.boot.SpringApplication;
      import org.springframework.boot.autoconfigure.SpringBootApplication;
      import org.springframework.cloud.config.server.EnableConfigServer;@SpringBootApplication
      br/>@SpringBootApplication
      public class SpringcloudConfigGitServerServiceApplication {
      public static void main(String[] args) {
      SpringApplication.run(SpringcloudConfigGitServerServiceApplication.class, args);
      }

}
添加 @EnableConfigServer 注解表示开启配置中心
实现原理
1、ConfigServer(配置中心服务端)从远端git拉取配置文件并在本地git一份,ConfigClient(微服务)从ConfigServer端获取自己对应 配置文件;
2、当远端git仓库配置文件发生改变,ConfigServer如何通知到ConfigClient端,即ConfigClient如何感知到配置发生更新?
Spring Cloud Bus会向外提供一个http接口,即图中的/bus/refresh。我们将这个接口配置到远程的git的webhook上,当git上的文件内容发生变动时,就会自动调用/bus-refresh接口。Bus就会通知config-server,config-server会发布更新消息到消息总线的消息队列中,其他服务订阅到该消息就会信息刷新,从而实现整个微服务进行自动刷新。

相关内容

热门资讯

我国科学家为细胞信号“导航”开... 新华社济南5月31日电(记者张力元)人体细胞犹如一座精密的通信城市,每天都有大量“指令”穿梭传递,调...
极端大风突袭哈尔滨!过山车停摆... 极目新闻记者 詹钘5月31日,受强对流天气影响,哈尔滨国际会展中心体育场相关设施受到损坏,原计划当晚...
三原电缆取得电缆接头连接用防护... 国家知识产权局信息显示,上海三原电缆附件有限公司取得一项名为“一种电缆接头连接用防护结构”的专利,授...
原创 识... 还是那句话,机圈苦大屏久已…… 虽然大屏有大屏的美,但是小屏也有小屏的俏。在大屏旗舰占据主流的手机市...
玄戒技术取得分频电路专利,实现... 国家知识产权局信息显示,北京玄戒技术有限公司取得一项名为“分频电路、分频器、射频芯片和电子设备”的专...
为什么今年香会基调明显变了 5月29日—31日在新加坡举行的第23届香格里拉对话会(简称“香会”),见证着元首引领下大国关系继续...
成本几毛钱、假驱蚊液香精兑水,... 入夏升温,蚊虫进入活跃期,驱蚊防护成为民生刚需,《财经调查》持续接到消费者投诉,他们买到的多款网红驱...
越来越多80后90后,正在丧失... 六一儿童节到来之际,朋友圈里开始出现一种熟悉的热闹。有人晒出零食礼包,有人半开玩笑地向伴侣讨礼物,还...
洋保电子取得用于低温环境的电气... 国家知识产权局信息显示,洋保电子(太仓)有限公司取得一项名为“一种用于低温环境的电气柜”的专利,授权...
中日韩飞手争霸宁波!2026无... 潮新闻客户端 记者 陈冲 通讯员 朱凝 5月31日,2026小遛·无人机竞速世界杯(中国·宁波鄞州站...