本文經過config server鏈接git倉庫來實現配置中心,除了git還能夠使用svn或者系統本地目錄都行。須要JAVA Spring Cloud大型企業分佈式微服務雲構建的B2B2C電子商務平臺源碼 一零三八七七四六二六java
引入依賴git
<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>
</dependencies>
複製代碼
spring-cloud-config-server這個就是配置中心server的依賴。spring
配置中心作到高可用自己也須要向註冊中心註冊本身的實例,因此需求引用spring-cloud-starter-eureka依賴。緩存
添加啓動類,開啓Config Server功能bash
@EnableDiscoveryClient
@EnableConfigServer
@SpringBootApplication
public class ConfigApplication {
public static void main(String[] args) {
SpringApplication.run(ConfigApplication.class, args);
}
}
複製代碼
@EnableConfigServer:即開啓配置服務器的功能。服務器
@EnableDiscoveryClient:開啓自動註冊客戶端,默認狀況下,ServiceRegistry實現將自動註冊正在運行的服務。如註冊中心使用是Eureka,這裏也能夠使用的@EnableEurekaClient註解。app
添加Config配置分佈式
spring:
application:
name: config-center
profiles:
active: config-center1
cloud:
config:
server:
git:
uri: ${git.uri}
searchPaths: ${git.searchPaths}
username: ${git.username}
password: ${git.password}
basedir: ${git.basedir}
clone-on-start: true
force-pull: true
eureka:
instance:
prefer-ip-address: true
instance-id: ${spring.cloud.client.ipAddress}:${server.port}
lease-expiration-duration-in-seconds: ${lease-expiration-duration-in-seconds}
lease-renewal-interval-in-seconds: ${lease-renewal-interval-in-seconds}
client:
serviceUrl:
defaultZone: ${register-center.urls}
---
spring:
profiles: config-center1
server:
port: ${config-center1.server.port}
---
spring:
profiles: config-center2
server:
port: ${config-center2.server.port}
複製代碼
這裏配置了兩臺Config Server,都註冊到了兩臺註冊中心上。svn
Maven filter配置spring-boot
#git
git.uri=http://gitlab.example.com/test/config.git
git.username=root
git.password=root
git.searchPaths=config-center
git.basedir=f:/config/config-center/git
複製代碼
Spring Cloud Git配置詳解
spring.cloud.config.server.git.uri:git倉庫地址。
spring.cloud.config.server.git.searchPaths:git倉庫搜索目錄。
spring.cloud.config.server.git.username:鏈接git的用戶名。
spring.cloud.config.server.git.password:鏈接git的用戶名密碼。
spring.cloud.config.server.git.basedir:配置中心在本地緩存配置的目錄。
spring.cloud.config.server.git.clone-on-start:配置爲true表示啓動時就克隆配置緩存到本地。
spring.cloud.config.server.git.force-pull:配置爲true表示若是本地副本是髒的,將使Spring Cloud Config Server強制從遠程存儲庫拉取配置。
啓動配置中心
分別啓動如下配置中心,使用不一樣的Profile指定端口。
spring-boot:run -Drun.profiles=config-center1 -P dev
spring-boot:run -Drun.profiles=config-center2 -P dev
複製代碼