知识卡片

对上层业务完全不可见的基础设施层,才能真正自由地持续演化

专业/工作

内容

Darkstar把负载监控、故障检测、失效恢复这些”元服务”设计成对游戏程序员完全不可见的一层——游戏逻辑既不知道也不需要知道其他机器上是否存在自己的副本。这个不可见性带来的好处不只是简化了编程模型,更关键的是:因为上层代码完全不依赖这层的具体实现细节,这些元服务可以随时被替换、重新设计或增加新策略,而不需要动一行游戏逻辑代码。这是[[模块的秘密决定了信息隐藏结构的边界]]在分布式系统里的具体应用——判断一层设计得好不好,一个很实用的检验方法是:如果彻底重写这一层的实现,上层代码需要跟着改动吗?答案是”不需要”,才说明真正做到了隐藏。

参考来源

《架构之美》第3章《伸缩性架构设计》