SpringCloud-Config 高可用版


前面是通过直接指定uri方式获取,对于整个系统,如果配置服务挂掉了,就要玩完,怎么办。
通过配置多台配置服务,实现集群。

此篇通过Git配置中心,获取配置,svn雷同。

0.准备

必须用到服务中心。

1. Config Server

同之前的git版Config Server,不再赘述。区别就在于,双开服务,port不一样。

2. Config Client

2.1 pom.xml

同git版

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-config</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
		</dependency>
2.2 application配置

此处和先前稍作调整

2.2.1 application.yml
spring:
  application:
    name: config-client
server:
  port: 8811

这里,服务发现相关配置转到bootstrap配置里。

2.2.2 bootstrap.yml
spring:
  cloud:
    config:
      #对应{application}部分
      name: cloud-config
      #对应{profile}部分
      profile: dev
      #配置中心的具体地址
#      uri: http://localhost:8810/
      #对应git的分支。如果配置中心使用的是本地存储,则该参数无用
      label: master
      discovery:
        #开启Config服务发现支持
        enabled: true
        service-id: config-server
#要把服务发现提前,因为要提前通过服务中心获取,不能放在application.yml里
eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8800/eureka/

这里,spring.cloud.config.uri不需要配置。增加两个配置:

spring.cloud.config.discovery.enabled=true 打开服务发现
spring.cloud.config.discovery.service-id=config-server 配置服务名称

然后服务中心服务发现相关配置移到这里,因为cloud配置需要用到服务发现。

2.3 其他

同git版配置。

2.4 运行测试

在这里插入图片描述
可以看到,现在配置服务有两个节点,分别是8830,8831端口。

访问 http://localhost:8811/hello
dev-in

此时,关闭一个配置服务
在这里插入图片描述
访问 http://localhost:8811/hello
dev-in
还是能收到数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值