Spring Cloud雲服務架構 - commonservice-config配置服務搭建

1.介紹

Spring Cloud Config爲分佈式系統中的外部配置提供服務器和客戶端支持。使用Config Server,您可以在所有環境中管理應用程序的外部屬性。客戶端和服務器上的概念映射與Spring Environment和PropertySource抽象相同,因此它們與Spring應用程序非常契合,但可以與任何以任何語言運行的應用程序一起使用。隨着應用程序通過從開發人員到測試和生產的部署流程,您可以管理這些環境之間的配置,並確定應用程序具有遷移時需要運行的一切。服務器存儲後端的默認實現使用git,因此它輕鬆支持標籤版本的配置環境,以及可以訪問用於管理內容的各種工具。很容易添加替代實現,並使用Spring配置將其插入。

2.引入pom相關jar包,其中pom.xml配置如下:

<?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.ml.honghu</groupId>      
        <artifactId>commonservice</artifactId>      
        <version>0.0.1-SNAPSHOT</version>      
    </parent>               
    <artifactId>commonservice-config</artifactId>      
    <packaging>jar</packaging>       
    <name>commonservice-config</name>      
    <description>Config Server</description>      
    <dependencies>      
        <dependency>      
            <groupId>org.springframework.cloud</groupId>      
            <artifactId>spring-cloud-config-server</artifactId>      
        </dependency>      
        <dependency>      
            <groupId>org.springframework.cloud</groupId>      
            <artifactId>spring-cloud-starter-eureka</artifactId>      
        </dependency>      
        <dependency>      
                    <groupId>org.springframework.boot</groupId>      
                    <artifactId>spring-boot-starter-security</artifactId>      
            </dependency>      
        <dependency>      
            <groupId>org.springframework.boot</groupId>      
            <artifactId>spring-boot-starter-test</artifactId>      
            <scope>test</scope>      
        </dependency>      
    </dependencies>        
    <build>      
        <plugins>      
            <plugin>      
                <groupId>org.springframework.boot</groupId>      
                <artifactId>spring-boot-maven-plugin</artifactId>      
                <executions>      
                    <execution>      
                        <id>1</id>      
                        <goals>      
                            <goal>repackage</goal>      
                        </goals>      
                    </execution>      
                                    <execution>      
                                        <id>2</id>      
                                            <goals>      
                                                   <goal>build-info</goal>      
                                            </goals>      
                                    </execution>      
                </executions>      
            </plugin>      
        </plugins>      
    </build>      
</project>      
  1. 在src/main/java進行ConfigApplication.java啓動文件配置:
package com.ml.honghu;      
import org.springframework.boot.SpringApplication;      
import org.springframework.boot.autoconfigure.SpringBootApplication;      
import org.springframework.cloud.config.server.EnableConfigServer;      
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;            
@EnableConfigServer      
@EnableEurekaClient      
@SpringBootApplication      
public class ConfigApplication {            
    public static void main(String[] args) {      
        SpringApplication.run(ConfigApplication.class, args);      
    }      
}      
  1. 在src/main/resource下進行bootstrap.yml配置
server:       
port: 8888      
spring:      
  application:      
    name: commonservice-config-server      
  profiles:      
    active: discovery,native      
  cloud:      
    config:      
      server:      
        git:      
          uri: http://192.168.0.254/honghu.../honghu-config.git      
          username: honghu      
          password: 123456      
          searchPaths: config-dev      
security:      
  basic:      
    enabled: true      
  user:      
    name: honghu      
    password: 123456      
eureka:      
  client:      
    serviceUrl:      
      defaultZone: http://honghu:123456@localhost:8761/eureka/      
      honghuZone: http://honghu:123456@localhost:8761/eureka/      
    registry-fetch-interval-seconds: 300      
    availability-zones:      
      honghu: honghuZone      
  instance:      
    prefer-ip-address: true      
    metadataMap:      
      version: 1.0      
      variant: A      
      user: ${security.user.name}      
      password: ${security.user.password}      
management:      
  security:      
    enabled: false      

注意: 如果不從遠程git或者svn庫加載配置文件信息,可以配置加載本地地址,比如window下配置使用:

8888      
spring:      
  application:      
    name: commonservice-config-server      
  profiles:      
    active: discovery,native      
  cloud:      
    config:      
      server:      
        <span style="color: #ff0000;">native.searchLocations: d:/honghu-config</span>      
security:      
  basic:      
    enabled: true      
  user:      
    name: honghu      
    password: 123456      
eureka:      
  client:      
    serviceUrl:      
      defaultZone: http://honghu:123456@localhost:8761/eureka/      
      honghuZone: http://honghu:123456@localhost:8761/eureka/      
    registry-fetch-interval-seconds: 300      
    availability-zones:      
      honghu: honghuZone      
  instance:      
    prefer-ip-address: true      
    metadataMap:      
      version: 1.0      
      variant: A      
      user: ${security.user.name}      
      password: ${security.user.password}      
management:      
  security:      
    enabled: false      

完整項目的源碼來源 技術支持1791743380

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章