什么是崩溃循环?



我正在阅读Google的网站可靠性工程书,遇到了我以前从未听说过的crashloop这个词,并且无法找到定义

"如果一个任务试图使用比它请求的更多的资源,Borg会杀死该任务并重新启动它(因为一个缓慢崩溃循环的任务通常比一个根本没有被重新命名的任务更可取(。

什么是崩溃循环,它与无限循环(如果有的话(相比如何?

崩溃循环是指进程崩溃并由监视器守护程序无限期地重新启动。

也就是说,历史是:

  • 进程在时间 T 开始。
  • 进程在时间 T+1 崩溃。
  • 监视器守护程序重新启动进程。
  • 流程在时间 T+2 开始。
  • 进程在时间 T+3 崩溃。
  • 监视器守护程序重新启动进程。
  • 进程开始...等。

在这里,看门狗守护进程是 Borg,该过程被封装到一个任务中。


一般来说,在分布式计算中,如果你想让某件事最终成功,你必须写下你完成它的意图,你需要一个工人不断地循环来按照这个意图采取行动。这是工作项的"至少一次传递"。

在这里,目的是任务运行(写到Borg中(,而Borg本身正在运行不断尝试确保任务运行的循环。这就是为什么当任务崩溃时,它会重新启动。当一个任务反复崩溃时,你们最终会陷入崩溃循环。

最新更新