SpringCloud之配置中心Config

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会发布更新消息到消息总线的消息队列中,其他服务订阅到该消息就会信息刷新,从而实现整个微服务进行自动刷新。


网站名称:SpringCloud之配置中心Config
网页URL:http://myzitong.com/article/pjsdjo.html