闲着也是闲着,就看看过往是在没有时间来折腾的东西,这不,最近2天看了看配置中心。
比较有代表性的有老牌的apollo,新贵 nacos,再就是出身也很好的Spring cloud config,网上比较这3者的文章多余牛毛,我就不凑热闹了。
话说apollo的应该是方方面面考虑的最为全面了,但是架构也确实复杂,这里吐槽一下。
搞个配置中心,还要拆分为 Config Service 、Admin Service,这也就罢了 ,可以理解为读写分离或者前后端分离,让人受不了的是又引入了 Meta Server 了,说是来给 客户端和Portal简化服务发现的,避免Client和Config Service的长链接过于消耗SLB,这样下来SLB就纯粹是给Meta Server服务的了。中小型企业,多半在1000台服务器,10000个应用实例以下,应该都不会遇到SLB的长链接问题,再大型的企业,也就不用apollo了,人家都会自己造一个。一句话来说,真的在用Apollo的那些公司,很少有人会碰到问题,能够碰到问题的公司基本都不会用,当然携程自己用的话,上面的架构应该还是很有必要的。东西是好,麻烦事也多,小厂真不一定要来凑这个热闹。
咋一看,Portal还有一个独立的DB,Config Service和Admin Service又有一个ConfigDB,有一些不合道理,但是存在肯定就有合理性,按照Apollo的尿性,多个环境是多套底层的部署,会对应多个【Config Service + Admin Service + Config DB + EUREKA+Meta Server】的组合,但是在通过Portal进行配置管理的时候,可以共用一套Portal,当然Portal对应的DB也是共用的。看起来是多此一举,实际上还是有必要的。