В чем разница между keepalive и сердцебиением?


20

Я хочу структурировать кластер серверов с высокой доступностью. Теперь я хочу узнать подробнее о keepalive и heartbeat, в чем разница между ними и как выбрать один.

Ответы:


26

Поверьте, на вопрос очень точно ответил Вилли Тарро, автор HAProxy, в http://www.formilux.org/archives/haproxy/1003/3259.html .

Цитата из ссылки выше

Heartbeat - не лучший инструмент для настройки избыточного haproxy, он был разработан для создания кластеров, который сильно отличается от наличия двух избыточных сетевых устройств без сохранения состояния. Сетевые инструменты, такие как keepalived или ucarp, лучше всего подходят для этой задачи

Разница между этими двумя семьями проста

  1. кластерно-ориентированный продукт, такой как heartbeat , гарантирует, что общий ресурс будет представлен не более чем в одном месте. Это очень важно для общих файловых систем, дисков и т. Д. Он предназначен для отключения службы на одном узле и на другом во время переключения. Таким образом, к общему ресурсу никогда нельзя получить доступ одновременно. Это очень сложная задача, и она хорошо справляется.
  2. сетевой продукт, такой как keepalived , обеспечит наличие общего IP-адреса хотя бы в одном месте. Обратите внимание, что я больше не говорю о сервисе или ресурсе, он просто играет с IP-адресами. Он не будет пытаться отключить или повысить какой-либо сервис, он просто рассмотрит определенное количество критериев, чтобы решить, какой узел наиболее подходит для предоставления услуги. Но служба уже должна быть на обоих узлах. Как таковой, он очень хорошо подходит для избыточных маршрутизаторов, брандмауэров и прокси-серверов, но совсем не подходит для дисковых массивов или файловых систем.

(Да, я знаю, что это старый вопрос, но для дальнейшего использования)


Будущая ссылка действительно. Сердцебиение было трудной для установки и работы, я обнаружил, что keepalived был намного проще и с моей установкой MySQL Master Master Single Write работал как положено.
Майк Перселл

3

Нет четкой, последовательной дифференциации. Эти слова иногда используются более или менее взаимозаменяемо.

Существует общепринятая пользовательская среда для установок высокой доступности, называемая Keepalived , а в проекте HA HA раньше использовался демон , называемый Heartbeat, который теперь изменился на Pacemaker . (Полагаю, вы не просили дать полный обзор этих двух систем, и каковы все различия, это ИМХО было бы не по теме.)

В повседневном использовании терминов я бы сказал, что наиболее распространенным является то, что:

  • «Keepalive» в более общем смысле относится к системе, которая поддерживает высокий уровень обслуживания.

  • «Сердцебиение» более конкретно относится к протоколу связи, в котором один или несколько участников установки высокой доступности периодически отправляют «Да, я все еще жив!» Сообщения. Затем их коллеги предпринимают действия, если не видят сообщения «Да, я жив» раньше установленного времени (т. Е. Отказ другого хоста). Это немного похоже на чувство пульса, отсюда и название.


Смотрите ответ @vange. Это кажется мне довольно понятным. Разные сервисы, разные названия, разные цели дизайна и варианты использования.
nelaaro
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.