Сколько работников на одного руководителя? - PullRequest
3 голосов
/ 26 января 2020

Есть ли граница для того, сколько работников должен контролировать конкретный c процесс супервизора? Я несколько раз возвращался к этому вопросу при создании дерева контроля OTP, касающегося производительности и отказоустойчивости:

Если один процесс супервизора контролирует всех рабочих (тысяч) указать тот же c домен, или вы должны поместить меньшее количество процессов надзора (под этим основным супервизором), которые контролируют подмножество рабочих процессов?

1 Ответ

3 голосов
/ 27 января 2020

Нет границ или пределов для количества детей, которыми может управлять супервизор. Это ограничено только системными ограничениями на максимальное количество процессов. Также следует учитывать, что супервизор не осуществляет какого-либо активного управления сам по себе. Если его не просят сделать что-то, все, что он делает, это сидит и ждет exit сообщений от своих детей.

Вопрос в том, должен ли один руководитель управлять всеми работниками, или они должны быть разделены между некоторым числом детские надзиратели - больше архитектурный. Если все работники относятся к одному и тому же типу, и используется стратегия one_for_one или simple_one_for_one, лучшим руководителем является отдельный руководитель, управляющий работниками напрямую. Если требования более сложны, может быть полезно сгруппировать работников одного типа в дочерний супервизор, например, для реализации какой-либо специальной стратегии перезапуска.

...