У вас есть процессы, которые делают что-то - рабочие процессы . Может быть много рабочих типа - все то же самое - но также может быть многих типов работников .
Приложение создается путем написания типов рабочих процессов и их развертывания.
Наблюдение за рабочими процессами является процессорами супервизора - и надзором за процессами супервизора являются процессами супервизора (черепахи вверх, кроме главного, кто папочка!)
Все руководители одинаковы. У них только 2 работы:
- высматривать своих работников (если они
начать сбой перезапустите их в
так, что этот тип работника нуждается
будет перезапущен)
- если слишком много рабочих часто выходят из строя
доложить их
супервайзеры (разбивая и давая
их руководитель перезапустить их в
так, что их нужно перезапустить)
Вот и все. Вы строите небольшие подсистемы из специальных типов рабочих процессов, которые вы разработали, и объединяете их в большие многосерверные кластеры, используя таких же, почти безошибочных, всесторонне протестированных супервизоров , как и все остальные, и некоторые стандартные работники, работающие с деревом контроля для выполнения таких действий, как перемещение подсистем с одного компьютера на другой (эти стандартные сотрудники кодифицированы в таких поведениях, как приложения OTP, OTP gen_servers и т. д.