分布式系统里的对象交互,不太像咱们在本地那种你来我往就完事的事儿。Jim Waldo 写的《分布式计算笔记》,挺早的,1994 年就出了,但你现在看,还是蛮有料的。

延迟、并发、部分失败……这些听着有点吓人,但其实多坑你现在写微服务也都能踩上,比如对象一不小心就卡半天,或者某个节点突然掉了服务全挂。文档里讲得比较透,尤其是对比本地对象和远程对象的部分,直接点出那些“看起来像本地,实则是远程”的设计有多坑人。

里面有个挺重要的点:**分布式就得正视延迟和失败**。你不能用本地那套思维来搞远程通信,要知道调用失败、慢。所以像什么缓存、预取这些小技巧就派上用场了,能少阻塞一秒是一秒。

还有一点我蛮认同的:**并发和部分失败是常态**。比如你搞个订单系统,服务一多,多个线程一来访问库存,稍没好就超卖了。那种“本来测着都正常,线上一挂一片”的问题,其实都是对分布式理解不到位。这文档就适合当思维校准器。

提醒一句:如果你是搞架构、做中台服务、玩微服务的,强烈建议你读一遍。虽然语言不算太新潮,但里面的认知还挺硬核。如果你感兴趣分布式框架,Spark 框架也可以看看,思路上有点呼应。