Что такое крушение? - PullRequest
       13

Что такое крушение?

0 голосов
/ 31 августа 2018

Я читаю книгу Google «Надежность сайта» и наткнулся на слово crashloop , которое я никогда раньше не слышал и не смог найти определение

«Если задача пытается использовать больше ресурсов, чем запрашивала, Борг убивает задачу и перезапускает ее (поскольку задача с медленным крахом обычно предпочтительнее задачи, которая вообще не была перезапущена).»

Что такое аварийный цикл и как он сравнивается с бесконечным циклом, если он вообще существует?

1 Ответ

0 голосов
/ 07 сентября 2018

Аварийный цикл - это когда процесс аварийно завершает работу и перезапускается демоном-наблюдателем на неопределенный срок.

То есть история такова:

  • Процесс начинается в момент времени T.
  • Процесс падает в момент времени T + 1.
  • Демон Watchdog перезапускает процесс.
  • Процесс запущен в момент времени T + 2.
  • Процесс падает в момент времени T + 3.
  • Демон Watchdog перезапускает процесс.
  • Процесс начинается ... и т. Д.

Здесь сторожевым псом является Борг, и процесс заключен в задачу.


В общем, в распределенных вычислениях, если вы хотите, чтобы что-то в конечном итоге было успешным, вы должны записать свое намерение, чтобы оно было завершено, и вам нужен работник, чтобы постоянно выполнять цикл для выполнения этого намерения. Это «хотя бы раз доставка» рабочего элемента.

Здесь подразумевается, что задача выполняется (записана в Borg), а сам Borg запускает цикл, который постоянно пытается убедиться, что задача выполняется. Вот почему при сбое задачи она перезапускается. Когда задача несколько раз падает, вместе вы получаете аварийный цикл.

...