活性:为什么没有出错还不等于事情会有进展?

活性:为什么没有出错还不等于事情会有进展?

活性关注的不是系统有没有做错,而是“该发生的好事最终会不会发生”。路口若四辆车都严格避让,碰撞从未发生,但每辆都等别人先走,系统在安全性上合格,在活性上却失败了。

活性不承诺每个请求立刻完成,而是在说明调度、公平等条件后,保证等待不会无限延续。它也不同于性能:任务最终完成但耗时很久,仍可能有活性,只是性能差;若某个参与者永远得不到机会,则即使整体一直忙碌,也没有满足针对它的活性。

这个区分很重要,因为“没有坏事发生”容易被误当成“系统正常”。真正可靠的协作既要守住不可违反的边界,也要检查工作是否持续向可完成的状态推进。安全性限制不能发生什么,活性说明最终必须发生什么,两者共同构成完整承诺。

https://lamport.azurewebsites.net/tla/book.html
https://doi.org/10.1007/BF01782772


了解 Geoffrey Chen 的更多信息

订阅后即可通过电子邮件收到最新文章。