微服务的配置中心怎么整?--《Spring微服务实战》系列 03

在这一篇,我们就要正式运用Spring全家桶中提供的Spring Cloud Config 技术来满足微服务项目中的配置需求。首要要明确的一点是,管理配置信息在微服务项目开发中是一件很中重要的事情,因为微服务实例需要以最少的人为干预快速启动,而每当人们需要手动配置或接触服务以实现部署时,都有可能出现配置飘逸,意外中断的情况。

那么如何才能最大可能的减少意外的发生呢?书中提供了四条原则作为建议:

(1)分离——我们希望将服务配置信息与服务的实际物理部署完全分开。应用程序配置不应该与服务实例一起部署。相反,配置信息应该作为环境变量传递给正在启动的服务,或者在服务启动时从集中式存储库中读取。

(2)抽象——将访问配置数据的功能抽象到一个服务接口中。应用程序使用基于REST的JSON服务来检索配置数据,而不是编写直接访问服务存储库的代码。

(3)集中——因为基于云的应用程序可能会有数百个服务,所以最小化用户保存配置信息的不同存储库的数量至关重要。将应用程序配置集中在尽可能少的存储库中。

(4)稳定——因为应用程序的配置信息与部署的服务完全隔离并集中存放,所以不管采用何种方案实现,至关重要的一点就是保证其高可用和冗余。
明确了四条原则之后,我们就一起来看看Spring Cloud Config是如何发挥作用的。

一:Spring Cloud Config 是如何脱颖而出的?

其实关于实现微服务配置需求的技术有很多,比如Eureka, Zookeeper, Consul等等,那为什么Spring Cloud Config 一枝独秀备受欢迎呢?它的优点在于:
易于搭建和使用
与Spring Boot紧密集成,开发人员可以使用一些简单易用的注解来读取所有应用程序的配置数据。
提供多个后端用于存储配置数据。
可以直接与Git源控制平台集成,这种集成消除了解决方案的额外依赖,并使版本化应用程序配置数据成为可能。

二:开始构建Spring Cloud 配置服务器

Spring Cloud 配置服务器是基于REST的应用程序,它建立在Spring Boot之上,它并不是独立服务器,相反,开发人员可以选择将它嵌入现有的Spring Boot应用程序中,也可以在嵌入它的服务器中启动新的Spring Boot项目。

首先还是要创建于一个Spring Boot的启动类,这时除了@SpringBootApplication注解以外,还要添加一个@EnableConfigServer的注解,使其服务成为Spring Cloud Config 服务。

第二步就是需要将一些信息添加到application.yml文件中,比如说对于所有配置信息的请求,应该监听那个端口号port, 另外要提供应用程序数据所在的文件目录,对应标签为searchLocations等。最后一步就是将SprIng Cloud Config与Spring Boot 客户端集成。

除此以外,Spring Cloud Config 还提供了保护敏感配置信息的功能,即在默认情况下,Spring Cloud 配置服务器在应用程序配置文件中以纯文本格式存储所有属性,包括像数据库凭据这样的敏感信息。

结束语:

关于Spring Cloud Config的内容就分享这么多,具体的代码细节就不在文中详细展开了,网上有很多大神提供了很好的例子。

今天具体介绍了Spring Cloud Config的优点以及构建Spring Cloud 配置服务器的大致步骤,希望今天的文章能够对你有所帮助,我们下期再会。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值