StatefulSet в Kubernetes
В распределенной системе гораздо проще обрабатывать без сохранения состояния рабочую нагрузку, поскольку она не содержит состояния и тривиально реплицироватьСервис для любого количества реплик. В Kubernetes статические рабочие нагрузки управляются ReplicaSet (развернутым из развертывания).
Большинству служб требуется какое-то состояние. StatefulSet управляет stateful рабочей нагрузкой в Kubernetes и отличается от ReplicaSet тем, что модули, управляемые StatefulSet, имеют уникальную идентификацию, состоящую из порядкового номера, стабильного сетевого идентификатора и стабильного хранилища. ,
Аварийное переключение и репликация
Я также видел, что шаблоны высокой доступности обычно являются некоторой моделью переключения при отказе (Active-Passive или Active-Active) и? / или Репликация (мастер-раб или мастер-мастер). Но я не мог совместить эту информацию вместе. Как я могу классифицировать эту модель по этим шаблонам?
Это довольно устаревшие шаблоны. Теперь Консенсус algorthims является нормой для High-Availability и Fail-over , поскольку обе эти проблемы касаются репликации и лидер-выборы . Raft (2013) - один из самых популярных алгоритмов консенсуса, и я могу порекомендовать книгу Проектирование приложений с интенсивным использованием данных , если вы хотите узнать больше о проблемах с High-Доступность , Аварийное переключение , Репликация и Консенсус .
Elasticsearch, кажется, использует алгоритм консенсуса дляего кластеризация. Любой из мастер-разрешенных узлов может быть выбран как master , и рекомендуется иметь как минимум три из них (для высокой доступности)
Роль узлов
кластер с главными узлами и узлами данных, где главные узлы управляют кластером, а узлы данных содержат данные. Вы также можете установить для каждого индекса количество сегментов и реплик, которые распространяются через эти узлы данных.
Узлы могут иметь несколько ролей в кластере Elasticsearch. Когда у вас небольшой кластер, ваши узлы могут иметь несколько ролей, например, master-elitable и data , но по мере роста вашего кластера до большего количества узлов рекомендуется иметь выделенные узлы дляроли.