单项目的时候只需要一个简单的配置文件即可完成配置管理。假如多个项目多个环境同时配置就会产生非常复杂的配置管理情况。
这个时候就需要用到配置中心了,它的原理其实类似于redis缓存这种。不同之处在于配置中心只关注配置,并且有更多的有利于配置的功能。大概的功能如下:
同时这些功能也是这次要开发的配置中心需要包含的功能。
本次开发的配置中心是基于nodejs的版本。
客户端获取配置的方式可以参考协议来开发属于自己的客户端SDK。目前已经提供的是javascript版本。
功能设计
配置中心的开发是基于nodejs的,这里先看一下大体的流程。
从上面可以看到,一个配置中心最主要的功能包括:
- 数据存储。这里使用存储协议匹配多种存储形式。
- 定时任务。这里包含了定时存储和自定义的定时更新任务。
- web站点。主要是提供一个简单快速的设置配置的方式。
- 心跳检测。使用TCP协议将客户端和配置中心相连,可以监听到配置的改动,及时获取最新的配置内容。
开发功能
落实到具体的开发上面其实非常简单,很多时候可能只需要一个了解和实践的过程。这里我把大概的思路跟大家捋一下。