SpringCloud配置中心高可用搭建

本文經過config server鏈接git倉庫來實現配置中心,除了git還能夠使用svn或者系統本地目錄都行。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功能

@EnableDiscoveryClient
@EnableConfigServer
@SpringBootApplication
public class ConfigApplication {

	public static void main(String[] args) {
		SpringApplication.run(ConfigApplication.class, args);
	}

}

@EnableConfigServer:即開啓配置服務器的功能。服務器

@EnableDiscoveryClient:開啓自動註冊客戶端,默認狀況下,ServiceRegistry實現將自動註冊正在運行的服務。如註冊中心使用是Eureka,這裏也能夠使用的@EnableEurekaClient註解。微信

添加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,都註冊到了兩臺註冊中心上。app

Maven filter配置

#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倉庫地址。svn

spring.cloud.config.server.git.searchPaths:git倉庫搜索目錄。spring-boot

spring.cloud.config.server.git.username:鏈接git的用戶名。gitlab

spring.cloud.config.server.git.password:鏈接git的用戶名密碼。url

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

推薦:Spring Boot & Cloud 最強技術教程

掃描關注咱們的微信公衆號,乾貨天天更新。

image

相關文章
相關標籤/搜索