spring cloud云服務(wù)架構(gòu)commonservice-config配置服務(wù)搭建

1. 介紹

Spring Cloud Config為分布式系統(tǒng)中的外部配置提供服務(wù)器和客戶端支持。使用Config Server,您可以在所有環(huán)境中管理應(yīng)用程序的外部屬性??蛻舳撕头?wù)器上的概念映射與SpringEnvironment和PropertySource抽象相同,因此它們與Spring應(yīng)用程序非常契合,但可以與任何以任何語言運行的應(yīng)用程序一起使用。隨著應(yīng)用程序通過從開發(fā)人員到測試和生產(chǎn)的部署流程,您可以管理這些環(huán)境之間的配置,并確定應(yīng)用程序具有遷移時需要運行的一切。服務(wù)器存儲后端的默認(rèn)實現(xiàn)使用git,因此它輕松支持標(biāo)簽版本的配置環(huán)境,以及可以訪問用于管理內(nèi)容的各種工具。很容易添加替代實現(xiàn),并使用Spring配置將其插入。

2. 引入pom相關(guān)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>??

?3. 在src/main/java進(jìn)行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);??

????}??

}??

?4. 在src/main/resource下進(jìn)行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??

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

server:???

port:8888??

spring:??

??application:??

????name:?commonservice-config-server??

??profiles:??

active:?discovery,native??

??cloud:??

????config:??

??????server:??

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??


?到此,整個config服務(wù)項目配置完畢!?。ㄆ髽I(yè)架構(gòu)源碼可以加求球:三五三六二四七二五九)


從現(xiàn)在開始,我這邊會將近期研發(fā)的spring cloud微服務(wù)云架構(gòu)的搭建過程和精髓記錄下來,幫助更多有興趣研發(fā)spring cloud框架的朋友,大家來一起探討spring cloud架構(gòu)的搭建過程及如何運用于企業(yè)項目。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容