本文經過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依賴。緩存
@EnableDiscoveryClient @EnableConfigServer @SpringBootApplication public class ConfigApplication { public static void main(String[] args) { SpringApplication.run(ConfigApplication.class, args); } }
@EnableConfigServer
:即開啓配置服務器的功能。服務器
@EnableDiscoveryClient
:開啓自動註冊客戶端,默認狀況下,ServiceRegistry實現將自動註冊正在運行的服務。如註冊中心使用是Eureka,這裏也能夠使用的@EnableEurekaClient註解。微信
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
#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.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
掃描關注咱們的微信公衆號,乾貨天天更新。