The Dependency Black Hole
通过对 267 个微服务的探索性案例研究,本文提出了“依赖黑洞”理论,该理论通过模拟由依赖磁铁构成的密集核心及其周围日益纠缠的服务,来解释大规模系统中依赖集聚是如何演化的,并为治理干预提供指导。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一座完全由微小、独立的店铺(微服务)组成的宏大城市。构建这座城市的初衷是,每家店铺都可以更改营业时间、重新装修内部,或者直接关门歇业,而不会影响到其他店铺。这就是“微服务架构”所承诺的前景。
然而,这篇论文的研究人员发现,在大型城市中,这种独立性往往会崩溃。城市并没有呈现出一种平坦的、由平等店铺组成的地图,而是演变成了一种奇怪的、具有引力结构的形态,看起来完全就像一个黑洞。
以下是该论文如何使用简单的术ks和比喻来解释这一现象:
“依赖黑洞”的三大区域
研究人员研究了一个拥有 267 个不同服务的真实系统。他们发现,这些服务之间的连接并非随机的;它们聚集成三个截然不同的区域,就像太空中的黑洞解剖结构一样:
1. 奇点(中心的“超级店铺”)
- 它是什么: 这是黑洞致密、黑暗的核心。在城市中,这些是所有人都在依赖的特定服务。它们是“必需品”,就像城市的电网、主供水系统或通用的身份证系统。
- 问题所在: 因为几乎所有其他店铺都需要连接到这些特定的服务才能运作,它们变成了“依赖磁铁”。如果电网(奇点)闪烁了一下,整个城市就会陷入黑暗。如果身份验证系统的规则发生了变化,每一家店铺都必须更新其软件。这些服务变得如此核心,以至于在改变它们时极易引发混乱。
2. 事件视界(“危险区”环)
- 它是什么: 这是围绕着奇点的环状区域。这些服务还不是主电网,但已经非常接近它了。它们充当中间人,将普通店铺连接到中心枢纽。
- 风险所在: 论文称之为“事件视界”,因为就像在太空中一样,一旦跨过这条线,你就无法逃脱。这些服务目前尚可管理,但随着它们承担更多工作并连接更多事物,它们面临着极高的风险,可能会“坠入”其中并成为一个新的奇点。它们是那些如果不加小心,可能会意外变成瓶颈的服务。
3. 吸积盘(“安静的外围”)
- 它是什么: 这是城市的外部区域。这些是小型、专业化的店铺,它们主要与邻居打交道,很少与中央电网进行交流。
- 优势所在: 这些服务是最独立的。它们可以更改营业时间或重新装修店铺,而不必担心城市的其余部分。它们轻量、快速且易于管理,因为它们没有被缠绕在中央的混乱之中。
为什么会发生这种情况?(“强者愈强”效应)
论文指出,这并非偶然,而是生长中的软件系统的一种自然法则。
- 拉锯战: 当构建一个新的服务时,开发者自然会倾向于连接那些已经运行良好的事物。他们选择“阻力最小的路径”。
- 陷阱: 如果一个服务已经非常受欢迎(奇点),所有人都会连接到它。因为所有人都在连接它,它就变得更加受欢迎,也更难以更改。这创造了一个循环:少数几个服务垄断了所有的连接,而其余的服务则留在外围。
研究人员实际上做了什么?
为了弄清这一点,团队不仅仅是靠猜测。他们:
- 分析数据: 他们分析了一家真实公司的 267 个服务,观察了三种类型的连接:代码依赖(哪些需要一起构建)、运行时连接(运行时谁在与谁通信)以及任务依赖(哪些工作项是相互关联的)。
- 访谈构建者: 他们向构建该系统的实际工程师和管理者展示了研究结果。管理者们表示赞同:“没错,那些特定的服务正是大家抱怨最多的,因为它们太难修改了。”
- 验证理论: “黑洞”模型与人类在现实世界中所观察到的情况相吻合。这不仅仅是一个漂亮的图景,它是一种解释系统为何变得复杂且有效的有用方法。
核心启示
这篇论文并没有提供某种魔力般的解决方案,也没有提供能瞬间解决问题的工具。相反,它提供了一种看待问题的新方式。
通过意识到他们的系统拥有“黑洞”结构,管理者可以停止将所有服务视为平等的做法。他们可以识别出奇点(那些需要额外关注和严格规则的危险枢纽)以及事件视界(那些需要被严密监控以免变成下一个枢纽的服务)。这是一张地图,帮助他们理解风险隐藏在复杂的数字城市中的何处。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。