java技术--SpringCloud:高可用的分布式配置中心简介及代码实现(17)

1.配置中心从远程git/svn读取配置文件

(1)当服务实例很多时,都从配置中心读取文件
(2)这时可以考虑将配置中心做成一个微服务,将其集群化,从而达到高可用

2.准备工作

(1)改造ConfigServer
  <1>在其pom.xml文件加上EurekaClient的起步依赖,代码示例如下:
     <dependency>
       <groupId>org.springframework.cloud</groupId>
       <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    </dependency>
  <2>主启动类上添加注解@EnableEurekaClient
  <3>在application.properties文件中添加Eureka相关配置,示例如下:
server.port=8007
spring.application.name:ConfigClient
spring.cloud.config.label=master
spring.cloud.config.profile=dev
spring.cloud.config.uri=http://localhost/8006/
#指定服务注册地址
eureka.client.serviceUrl.defaultZone=http://localhost:8000/eureka/
(2)改造ConfigClient
   <1>在其pom.xml文件加上EurekaClient的起步依赖,代码示例如下:
     <dependency>
       <groupId>org.springframework.cloud</groupId>
       <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    </dependency>
   <2>配置文件bootstrap.properties,注意是bootstrap,示例代码如下:
server.port=8007
spring.application.name:ConfigClient
spring.cloud.config.label=master
spring.cloud.config.profile=dev
#spring.cloud.config.uri=http://localhost/8006/
#服务注册地址
eureka.client.serviceUrl.defaultZone=http://localhost:8000/eureka/
#是从配置中心读取文件
spring.cloud.config.discovery.enabled=true
#配置中心的servieId,即服务名
spring.cloud.config.discovery.serviceId=ConfigServer
  <3>这时发现,在读取配置文件不再写ip地址,而是服务名
    3.1.如果配置服务部署多份,通过负载均衡,从而高可用
    3.2.需要配置中心高可用,只需要将配置中心启动多个实例就行了

3.参考文档

(1)源码: https://github.com/forezp/SpringCloudLearning/tree/master/sc-f-chapter7
(2)https://www.fangzhipeng.com/springcloud/2018/08/07/sc-f7-config.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值