前言
一位读者朋友跟我反馈,能不能写一篇比较全的配置中心的文章。自己最近在面试过程中有被面试官问:如何设计一个配置中心? 这个话题,由于自己在工作中也没实际使用过配置中心,所以对于如何去设计是完全没有概念的。
今天就给大家写一篇去配置中心需要考虑的点,我也不是什么配置中心开源项目的参与者,所以写出来的仅供大家参考。
开始之前,记得点赞收藏加关注哦 ,我这里也准备了很多面试热门知识点和大厂面试题,希望对大家有帮助!有需要的朋友可以点一点下方链接免费领取
链接:点这里!!! 暗号:CSDN
有必要重复造轮子吗?
当面试官问你:如果让你写一个配置中心,说说你的设计思路? 首先我们要有自己的想法,虽然是在面试过程中的问题。我们也可以反问,市面上目前有几款很优秀的开源的配置中心,我们可以直接拿来用,有必要去重新造轮子吗?
如果面试官说只是考察一下你对这块的设计和理解程度,然后你就可以接着讲解你的思路了。如果面试官说我们很多框架都是自研的,任性,就是有这个需求,那你还是得接着说,躲不掉,哈哈。
如果要重新造,我们也可以基于开源的进行改造,下面我说下如果要设计一个配置中心,它的整体思路是怎样的,需要用到哪些技术点,然后开始你的表演。
配置存储选型
首先我们来看存储的选型,配置中心需要存储所有的配置内容,肯定需要进行存储。目前主流开源的配置中心都采用 Mysql 进行配置的存储,当然你也可以用其他的,比如 MongoDB 也非常适合。
用不同的数据库在设计表结构的时候会有所不同,比如 Mysql 可能要 10 个表,MongoDB 简化后可能 5 个表就够了(Mysql 多表关联,MongoDB 内嵌文档)。