亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringCloud之配置中心Config

發布時間:2020-07-02 18:57:18 來源:網絡 閱讀:370 作者:專注地一哥 欄目:編程語言

commons 工程
commons 工程 - POM 文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- 三坐標 -->
<groupId>com.zwc</groupId>
<artifactId>springcloud-config-git-commons</artifactId>
<version>1.0</version>
<!-- 工程名稱和描述 -->
<name>springcloud-config-git-commons</name>
<description>ZFX代理申請www.fx61.com/brokerlist/zfx.html公用工程</description>
<!-- 打包方式 -->
<packaging>jar</packaging>
<!-- 在 properties下聲明相應的版本信息,然后在dependency下引用的時候用 ${} 就可以引入該版本jar包了 -->
<properties>
<!-- 編碼 -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- jdk -->
<java.version>1.8</java.version>
<!-- SpringBoot -->
<platform-bom.version>Cairo-SR3</platform-bom.version>
<!-- SpringCloud -->
<spring-cloud-dependencies.version>Finchley.RELEASE</spring-cloud-dependencies.version>
</properties>
<!-- 加入依賴 -->
<dependencies>
</dependencies>
<!-- 依賴 jar 包版本管理的管理器 -->
<!-- 如果 dependencies 里的 dependency 自己沒有聲明 version 元素,那么 maven 就此處來找版本聲明。 -->
<!-- 如果有,就會繼承它;如果沒有就會報錯,告訴你沒有版本信息 -->
<!-- 優先級:如果 dependencies 里的 dependency 已經聲明了版本信息,就不會生效此處的版本信息了 -->
<dependencyManagement>
<dependencies>
<!-- SpringBoot -->
<dependency>
<groupId>io.spring.platform</groupId>
<artifactId>platform-bom</artifactId>
<version>${platform-bom.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- SpringCloud -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud-dependencies.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

<!-- 插件依賴 -->
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

</project>
配置一些共用依賴
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 文件
      <?xml version="1.0" encoding="UTF-8"?>
      <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <!-- 繼承父 -->
      <parent>
      <groupId>com.zwc</groupId>
      <artifactId>springcloud-config-git-service</artifactId>
      <version>1.0</version>
      </parent>
      <!-- 三坐標 -->
      <groupId>com.zwc</groupId>
      <artifactId>springcloud-config-git-server-service</artifactId>
      <version>1.0</version>
      <!-- 工程名稱描述 -->
      <name>springcloud-config-git-server-service</name>
      <description>config server</description>
      <!-- 打包方式 -->
      <packaging>jar</packaging>
      <!-- 在 properties下聲明相應的版本信息,然后在dependency下引用的時候用 ${} 就可以引入該版本jar包了 -->
      <properties>
      </properties>
      <!-- 加入依賴 -->
      <dependencies>
      <!-- commons工程 依賴 -->
      <dependency>
      <groupId>com.zwc</groupId>
      <artifactId>springcloud-config-git-commons</artifactId>
      <version>1.0</version>
      </dependency>
      <!-- config server 依賴 -->
      <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-config-server</artifactId>
      </dependency>
      </dependencies>
      <!-- 插件依賴 -->
      <build>
      <plugins>
      <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
      </plugins>
      </build>
      </project>
      主要加入?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會發布更新消息到消息總線的消息隊列中,其他服務訂閱到該消息就會信息刷新,從而實現整個微服務進行自動刷新。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

温州市| 阿城市| 彩票| 略阳县| 囊谦县| 灵丘县| 日土县| 鄂伦春自治旗| 沁源县| 陵水| 西昌市| 乐清市| 腾冲县| 怀宁县| 淳安县| 洞口县| 绥化市| 夏邑县| 贵港市| 奉化市| 志丹县| 工布江达县| 霸州市| SHOW| 康乐县| 乐至县| 宁夏| 米脂县| 奈曼旗| 哈巴河县| 荃湾区| 马尔康县| 乐陵市| 和林格尔县| 措勤县| 广饶县| 临邑县| 定陶县| 潼关县| 韶山市| 东乡族自治县|