自己写分布式配置中心(上篇)- 单机模式

  1. 什么是“订阅-发布模式”?
    订阅-发布模式定义了对象之间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都可以得到通知。
    订阅-发布模式和观察者模式概念相似,但在订阅-发布模式中,订阅者和发布者之间多了一层中间件:一个被抽象出来的信息调度中心。

但其实没有必要太深究 2 者区别,因为《Head First 设计模式》这本经典书都写了:发布+订阅=观察者模式。其核心思想是状态改变和发布通知。在此基础上,根据语言特性,进行实现即可。
https://segmentfault.com/a/1190000017320174

http://wuwenliang.net/2018/12/05/自己写分布式配置中心-单机模式/

https://mp.weixin.qq.com/s/MI_vtOo4EFAWm_e379uPUg
本篇我们讲讲如何实现一个分布式配置中心服务。

由于该项目实现起来较为复杂,因此分为上下两篇讲解,上篇为单机模式,下篇为分布式模式。话不多说,我们进入正文。

说说配置中心

在编码之前,我们简单介绍一下什么是分布式配置中心,以及它是为了解决什么问题而出现的。

传统项目中,我们使用配置文件来进行可变参数的动态配置,通过改动配置文件并重启应用的方式达到“不改代码而变更程序行为”的目的。

项目规模小,服务数量少的时候,这种方式还是可堪一用的,当项目规模变大,服务数量上升的时候,停机修改配置就成为一件难以忍受的事情。试想,我们为了修改配置文件,首先要关停部分机器,修改完成还需要手动重启,如果修改有误还需要返工。这对运维而言,简直就是折磨。

因此,配置中心,或者说配置服务就应运而生了。最直接的变化就是,修改配置无需重启,配置能够动态生效,减少了运维成本和压力。

不仅如此,引入较为成熟的配置中心,能够在全局的视角,对不同业务线的不同模块的配置进行统一管理,将分散在各处的配置集中管理,从根源上规避了“配置地狱”的情况的出现。

配置中心不仅减少了开发运维的压力,对运营而言也方便了需求的快速实现及业务目标的灵活变更,它是分布式/微服务架构中的必备的基础设施。

业界较为流行的配置中心实现如下,读者可以根据自己的需要,结合官方文档及业界的最佳实践,灵活的选择适合自己的配置中心实现。

你可能感兴趣的:(杂谈)