知识卡片

超时只是猜测

专业/工作

内容

超时不能证明远端已经失败,只能说明本地在等待窗口内没收到回应。包可能丢了、响应可能堵在队列、远端可能执行成功但确认丢失。把超时当确定失败会制造重复执行和脑裂,必须配合幂等、租约或栅栏令牌。

参考来源

《数据密集型应用系统设计》第8章《分布式系统的麻烦》