Почему рабочие узлы не вины -Толерантно?

Цитата изhttps://www.linuxjournal.com/content/kbuild-linux-kernel-build-system

Not everything in the kernel can be compiled as a module.

Many features are so intrusive that you have to decide at compilation time whether the kernel will support them. For example, you can't add Symmetric Multi-Processing (SMP) or kernel preemption support to a running kernel. So, using a boolean config symbol makes sense for those kinds of features.

Most features that can be compiled as modules also can be added to a kernel at compile time. That's the reason tristate symbols exist—to decide whether you want to compile a feature built-in (y), as a module (m) or not at all (n).

Я думаю, это понятно. :Если есть только два варианта, используйте логическое значение, если есть три варианта, используйте три состояния. Все остальное не имело бы смысла.

0
08.09.2019, 22:49
2 ответа

Исторически они пытались... Существуют веб-серверы, которые работают как кластеры, и на них можно запускать приложения с отслеживанием состояния. Но, исходя из личного опыта, эти серверы очень сложно настроить для правильной работы, а поскольку кластеризация не является прозрачной, а в лучшем случае полупрозрачной, код приложения все равно должен быть в некоторой степени -осведомленным о кластерах, поэтому создание приложений, которые правильно работают на этих систем требует квалифицированных программистов. Также есть некоторые ограничения (близость серверов в кластере и т.д... ).

«Путь Docker» более явный, но также его проще объяснить программисту и имеет меньше ограничений (язык программирования, физическое расположение всех узлов и т. д.)

1
28.01.2020, 02:29

Один управляющий узел не является отказоустойчивым. В конце концов, это всего лишь одна машина (виртуальная или физическая ). Вот почему у вас есть несколько менеджеров, которые разделяют состояние. Если один менеджер выйдет из строя, остальные продолжат работу кластера.

Точно так же один рабочий узел не является отказоустойчивым. В конце концов, это всего лишь одна машина. Итак, что произойдет, если произойдет сбой жесткого диска? Это означает, что любое состояние на этой машине будет потеряно. Вот почему вы обычно запускаете несколько экземпляров своего приложения в рое и либо используете реплицированное хранилище состояний (, что фактически является тем, что делают узлы менеджера ), либо поддерживаете состояние вне роя.

Вам также может быть интересен дизайн приложения «12 факторов», в котором эти концепции развиваются еще дальше.

1
28.01.2020, 02:29

Теги

Похожие вопросы