儿子问我路灯为啥不亮,我竟答出了微服务的真相

儿子问我路灯为啥不亮,我竟答出了微服务的真相

sjmyuan 3 2026-04-11

这几天下雨,小区的一排路灯坏了,意外引发了我和儿子的一段对话。这段看似平常的问答,却让我联想到技术架构中的一个经典命题——微服务的拆分边界。我觉得其中蕴含的道理值得分享。

一段关于路灯的追问

晚上散步,儿子指着黑着的一排路灯,一脸疑惑地问我:

儿子:爸爸,这排灯咋都不亮了?
:可能坏了吧。
儿子:为啥坏了呀?
:估计是下雨,线路短路了。
儿子:那旁边那些灯怎么好好的?
:哦,它们可能不在同一条电路上。
儿子:为啥不都接在一块儿呢?
:分开接好修啊!你看,就这一排不亮,说明问题就出在这儿;要是整个小区的灯全灭了,咱不得挨个查半天?
儿子:那干脆每个灯自己拉一根线呗?这样哪个坏了不一眼就看出来了?
:哎呀,那样太麻烦啦!每个灯都单独布线,施工成本太高了。
儿子:那到底几个灯用一条线才合适啊?
:……这个嘛,爸爸还真说不准。

儿子的问题层层递进,从现象追问到设计逻辑,最后抛出了一个连工程师都未必能轻易回答的难题。

从路灯到微服务:寻找平衡的艺术

儿子的问题让我联想到软件架构中的一个经典难题:大单体与微服务之间,该如何取舍?

微服务并非越小越好。拆分得过于细碎,虽然故障隔离性更强,却会显著增加开发复杂度、部署成本和运维负担。

但反过来,单体也不是越大越好。当系统臃肿不堪,任何微小改动都可能牵一发而动全身,维护成本高企,业务价值却难以释放。

关键在于找到那个“恰到好处”的平衡点——用合理的拆分粒度,在可控的成本下实现最大的业务敏捷性与系统稳定性。

现实中,我们常常渴望一个明确的答案:“该拆”或“不该拆”。但真实世界很少提供这样的确定性。与其等待完美的方案,不如在实践中不断试错、调整、优化。正如我在另一篇文章中所写:用正确的方式做事情》比执着于“做正确的事”更重要——因为“正确”的边界,往往是在行动中逐渐清晰的。