文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

互联网架构,究竟为什么需要配置中心?

2024-12-24 21:00

关注

随着互联网业务的越来越复杂,用户量与流量越来越大,“服务化分层”是架构演进的必由之路。

如上图,站点应用会调用服务,上游服务调用底层服务,依赖关系会变得非常复杂。

对于同一个服务:

(1)它往往有多个上游调用;

(2)为了保证高可用,它往往是若干个节点组成的集群提供服务;

如上图,用户中心服务user-service有三个节点,ip1/ip2/ip3对上游提供服务,任何一个节点当机,都不影响服务的可用性。

那么问题来了:

初期:“配置私藏”架构

“配置私藏”是配置的最初级阶段,上游调用下游,每个上游都有一个专属的私有配置文件,记录被调用下游的每个节点配置信息。

如上图:

画外音:是不是很熟悉?绝大部分公司,初期都是这么玩的。

“配置私藏”架构的缺点是什么呢?

来看一个容量变化的需求:

此时要怎么做呢?

需要用户中心的负责人通知所有上游调用者,修改“私藏”的配置,并重启上游,连接到新的集群上去。在ip1上没有流量之后,通知运维将ip1节点下线,以完成整个缩容扩容过程。

这种方案存在什么问题呢?

当业务复杂度较高,研发人数较多,服务依赖关系较复杂的时候,就没这么简单了。

问题一:调用方很痛,容量变化的是你,凭啥修改配置重启的是我?这是一个典型的“反向依赖”架构设计,上下游通过配置耦合,不合理。

问题二:服务方很痛,ta不知道有多少个上游调用了自己,往往只能通过以下方式来定位上游:

画外音:是不是似曾相识?

不管哪种方式,都很有可能遗漏,导致ip1一直有流量难以下线,ip4/ip5的流量难以均匀迁移过来。该如何优化呢?

中期:“全局配置”架构

架构的升级并不是一步到位的,先来用最低的成本来解决上述“修改配置重启”的问题一。

“全局配置”架构:对于通用的服务,建立全局配置文件,消除配置私藏:

全局配置有什么好处呢?

全局配置有什么不足呢?

如果调用方一直不重启,就没有办法将流量迁移到新集群上去了。

有没有方面实现自动流量迁移呢?

答案是肯定的,只需要引入两个并不复杂的组件,就能实现调用方的流量自动迁移:

画外音:用锁来互斥,很容易实现。

引入了这两个组件之后:

终版:“配置中心”架构

“全局配置”架构是一个能够快速落地的,解决“修改配置重启”问题的方案,但它仍然解决不了,服务提供方“不知道有多少个上游调用了自己”这个问题。

如果不知道多少上游调用了自己:

等这类需求便难以实现,怎么办?

“配置中心”架构能够完美解决

对比“全局配置”与“配置中心”的架构图,会发现配置由静态的文件升级为动态的服务:

当下游服务需要扩容缩容时:

“配置中心”架构有什么好处呢?

痛点一、痛点二同时解决。

“配置中心”架构有什么不足呢?

总结

究竟要解决什么痛点?

究竟如何解决上述痛点?

知其然,知其所以然。

【本文为51CTO专栏作者“58沈剑”原创稿件,转载请联系原作者】

戳这里,看该作者更多好文

 

来源:51CTO专栏内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯