修改pom文件_第4章 微服务太多,配置文件怎么维护

本文介绍了在微服务架构中使用Spring Cloud Config构建分布式配置中心的方法。从初识分布式配置的需求出发,详细阐述了Config Server的设置,包括添加依赖、配置信息和启用服务端功能。接着,展示了如何将微服务改造为Config Client,通过远程获取配置中心的配置项。此外,还探讨了配置刷新功能,演示了在运行期间动态更新配置并验证其效果。文章最后对内容进行了小结。
摘要由CSDN通过智能技术生成

在前面有提到,微服务系统是一种典型的分布式系统,我们会将每个功能都尽可能地拆分一个可独立部署、运行的服务,服务部署完成后,每一次请求的完成,都可能涉及到多个服务的协调作业,面对越来越多的微服务,我们需要有一个东西可以方便地管理配置文件、最好可以在一个地方管理所有微服务的配置,这个就是我们接下来要说的分布式配置组件了。在接下来的内容中,简称这个分布式配置组件为配置中心。

4.1 初识分布式配置

在开始介绍Spring Cloud的配置中心实现之前,我们可以先回忆下以前我们的系统配置是怎么做的。

最开始学习的时候,很多东西都是没有配置的,基本上都是硬编码,简单、快速,系统很快构建起来了,可是随着系统的功能越来越复杂,代码量越来越大,很多地方进行硬编码已经不能满足我们的需求,我们需要在不同的环境、不同的场景下通过修改配置项来达到不一样的效果,配置项放在代码里面难找,而且修改起来会很麻烦。

于是,我们将可能频繁变动的项目提出来放在了xml、properties文件中,方便修改,这个时候修改配置的时候已经不需要再去碰业务代码,只要找到对应的配置文件,修改、打包、重新部署就可以了。这样子看起来已经不错了,但是随着分布式架构逐渐流行,一个一个的集群被搭建起来,这个时候再给每个集群实例搭配一个配置文件,维护的工作量就变得很大了。

这种情况运维人员一般都有一个config list,记录了每个实例的配置文件放在哪里、叫什么名字、现在的配置项是什么等等。这个清单如果维护出错,对整个系统来说都会是一个灾难。基于这种情况,分布式系统需要一个中心化的配置中心来替代这个config list,并且可以方便地从不同维度来进行配置,最好支持配置项的随时,并且最好能够实时生效。

4.2 Spring Cloud Config

Spring Cloud作为一个完善的微服务框架,提供了Spring Cloud Config作为推荐的分布式配置组件。

Spring Cloud Config提供了服务端和客户端,可以很好地支持分布式系统的配置需求。使用服务端可以快速构建一个独立于业务服务之外的配置中心,配置存储默认使用git,因此它拥有git所拥有的一切优点。同时,它还原生支持使用Spring的Environment和PropertySource来获取配置项。接下来,我们将使用Spring Cloud Config构建一个配置中心。

4.2.1 Config Server

新建Spring Boot工程,引入Spring Cloud Config的服务端maven依赖,为了方便测试,我们同时引入了web和actuator的相关依赖。

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-config-server</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependenc
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值