Heartbeat, пульс системы
Что такое пульс системы, Heartbeat
В компьютерной науке пульс - это периодический сигнал, генерируемый аппаратным или программным обеспечением для индикации нормальной активности или синхронизации других частей компьютерной системы. Механизмы heartbeat широко распространены в критически важных системах для обеспечения высокой доступности и отказоустойчивости сетевых сервисов путем обнаружения сетевых или системных сбоев узлов или демонов, входящих в сетевой кластер, управляемый главным сервером. Это один из методов.
Применение
Он использует оставшиеся резервные узлы кластера для принятия на себя нагрузки отказавшего узла, автоматически адаптируя и перебалансируя систему для обеспечения непрерывного обслуживания. Сердцебиения обычно посылаются между машинами с регулярными интервалами в несколько секунд. сообщение сердцебиения. Если конечная точка в течение некоторого времени (обычно нескольких интервалов) не получает сообщения, то машина, которая должна была отправить сообщение, считается неисправной. Сообщения heartbeat обычно посылаются безостановочно, либо периодически, либо многократно, начиная с момента запуска создателя и до его выключения. Если место назначения обнаруживает отсутствие сообщений сердцебиения в течение ожидаемого периода прибытия, оно может определить, что источник вышел из строя, выключился или вообще больше не доступен.
Протокол Heartbeat
Протоколы Heartbeat обычно используются для согласования и мониторинга доступности ресурсов, таких как плавающие IP-адреса, и эта процедура включает в себя отправку сетевых пакетов всем узлам кластера для подтверждения их доступности. Обычно, когда на машине инициируется heartbeat, происходит процесс выборов среди других машин в сети heartbeat, чтобы определить, какая машина, если таковая имеется, владеет ресурсом.
В сети сердцебиения, состоящей из трех и более машин, важно учитывать возможность разделения, когда половина сети может быть работоспособной, но не может взаимодействовать друг с другом. В таких ситуациях важно, чтобы ресурсы принадлежали только одной машине, а не одной машине на раздел. Сердечные ритмы предназначены для индикации состояния машины, поэтому важно, чтобы протокол сердечных ритмов и транспорт, на котором он работает, были максимально надежными. В зависимости от ресурса ложное срабатывание может стать причиной обхода отказа, что крайне нежелательно.
Также важна быстрая реакция на реальные сбои, что делает сообщения heartbeat еще более надежными. По этой причине часто бывает желательно передавать сигналы сердцебиения по нескольким транспортам. Например, по сегменту Ethernet с использованием UDP/IP или по последовательному каналу. Принадлежность узла к кластеру - это свойство достижимости сети. Указывает, может ли мастер взаимодействовать с узлом. X X
, в противном случае считается членом кластера, в противном случае считается мертвым.
Структура
Программа heartbeat в целом состоит из различных подсистем. Heartbeat Subsystem (HS): Подсистема, которая отслеживает наличие узлов в кластере с помощью серии keepalives или heartbeat-сообщений. Cluster Manager (CM): подсистема внутри кластера (обычно это главный сервер). Она ведет учет членов кластера и записывает, какие ресурсы находятся на тех или иных узлах. Миграция кластера (CT): Когда узлы присоединяются к кластеру или покидают его, эта подсистема отслеживает такие события с целью инициирования событий, которые восстанавливают баланс и перенастраивают мастер-сервер для распределения нагрузки. отвечает за периодическую отправку сообщений Heartbeat. Использование таких методов, как широковещание и многоадресная рассылка, в больших кластерах.
Поскольку в CM происходят транзакции по всему кластеру, наиболее распространенной схемой является отправка сообщения heartbeat всем узлам и "ожидание" ответа в неблокирующем режиме. Сообщения heartbeat или keepalive - это подавляющее большинство не связанных с приложениями управляющих сообщений кластера (которые также рассылаются всем членам кластера), и основные критические системы имеют последовательные протоколы Non-IP, такие как порты, также включены.