学透 Spring:从入门到项目实战
丁雪丰
美团研究员
1073 人已学习
立即订阅
登录后,你可以任选4讲全文学习
课程目录
已完结/共 45 讲
时长 07:11
时长 15:51
时长 00:10
时长 02:03
时长 00:39
学透 Spring:从入门到项目实战
15
15
1.0x
00:00/00:00
登录|注册

第 14 章 服务配置管理(1)

本章内容
Spring Cloud Config 的基本用法
Spring Cloud Config 的实现原理
几种常用的配置中心
在一个复杂系统中,一定会存在大量的配置,特别是这个系统由大量微服务构成时,问题会更加严重,因为这些配置可能散落在各处,管理起来非常麻烦。Spring Cloud 既然是大量优秀实践的沉淀,自然也注意到了这个问题,为我们提供了一套比较成熟的解决方案。例如,在上一章介绍 Netflix OSS 时就提到了分布式配置中心 Archaius。本章中,让我们看看如何在 Spring Cloud Config 的帮助下解决微服务的配置管理难题。

14.1 使用 Spring Cloud Config 实现配置管理

在 Spring Cloud 的常用功能中,与服务发现同等重要的应该就是服务配置管理了。本节中我们就来一起了解一下配置该如何管理,Spring Cloud 提供了哪些便于配置管理的组件,这些组件又能如何保护我们的配置项。

14.1.1 为何需要配置中心

“早期的系统并不复杂,开发运维也比较简单粗暴,开发者们没有太多配置的概念,所有东西硬编码一下,如果需要针对新环境做些调整,那就在代码里改改,重新打个包发上去。”如果有人是这么告诉你的,那要么他是个几十年前的“古董”程序员,完全不接触新技术,要么就是他根本不懂软件开发与运维。
在 Java 系统中,可以通过 -D 在命令行中传入系统参数,哪怕是启动 Tomcat 这样的容器,也能在代码里轻松获取 -D 传入的系统参数。像数据库连接池配置这样的内容,随着环境的变化一定会变,我们可以将数据源配置在容器里,然后以 JNDI(Java Naming and Directory Interface,Java 命名和目录接口)的方式获取数据源。所以说在 Java 系统里不缺配置的手段,只是配置起来简单一些或者复杂一些而已。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入介绍了在微服务系统中使用 Spring Cloud Config 实现配置管理的重要性和方法。首先指出了微服务系统中配置管理的挑战,然后详细介绍了为何需要配置中心以及基于 Spring Cloud Config Server 的配置中心的重要性。文章还详细介绍了 Spring Cloud Config Server 支持的常用存储后端,包括 Git、JDBC、Redis、文件系统和Vault,并通过实际例子演示了如何搭建基于 Git 的配置中心服务,以及如何通过 Spring Cloud Config Server 提供配置管理服务。读者可以通过本文了解到 Spring Cloud Config 的基本用法、实现原理以及几种常用的配置中心,为微服务系统的配置管理提供了一套比较成熟的解决方案。文章还介绍了如何使用 Spring Cloud Config Server 进行配置项的加密保护,包括对称密钥和非对称密钥的配置方式,以及如何通过 curl 命令进行加解密操作。这些内容为读者提供了更加全面的配置管理方案,尤其是对于敏感信息的保护提供了实用的解决方案。文章还讨论了如何通过 Spring Cloud Config Client 访问配置,以及在处理加解密相关问题时可能遇到的 JCE(Java Cryptography Extension)相关的问题。整体而言,本文内容丰富,涵盖了配置中心的重要性、实现方式以及具体操作,对于需要深入了解微服务系统配置管理的读者来说,是一篇非常有价值的文章。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《学透 Spring:从入门到项目实战》
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部