本文假设读者已经熟悉分布式系统的常见模式,如服务发现、注册,统一配置管理等
前言
系统一旦走向分布式,其复杂程度成倍增长,传统单体应用只考虑业务逻辑的开发方式已经不再适用。正因其复杂性,目前只有业务需求大的大型互联网公司才会(被迫)采用,而且需要投入大量的技术力量来开发基础设施,也造成了小公司“用不起”分布式架构的情况。现在这一局面正在逐渐被打破,因为Netflix开源了其经过实战考验的一系列基础设施构件,加上Spring Cloud的大力支持,开发分布式系统已经不再像以前那样可怕了。
统一的配置管理
微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要的配置信息才能运行,所以一套集中式的、动态的配置管理设施是必不可少的。Spring Cloud提供了Config Server来解决这个问题。Config Server的主要功能如下:
集中化的配置文件管理
不再需要在每个服务部署的机器上编写配置文件,服务会向配置中心统一拉取配置自己的信息。动态化的配置更新
当配置发生变动时,服务不需要重启即可感知到配置的变化并应用新的配置。将配置信息以HTTP REST接口的形式暴露
这使得非Java语言的服务也能享受到上面两点功能。
Config Server的架构图如下:
工作流程如下:
- 配置中心感知到配置变化(如,git仓库发生commit提交),向Bus投递消息
- Bus向服务广播消息
- 服务收到消息后,主动向配置中心拉取新配置并应用
其中配置中心可集群部署实现高可用。

最低0.47元/天 解锁文章
168万+

被折叠的 条评论
为什么被折叠?



