Если у вас такая большая нагрузка, что вам нужно балансировать нагрузку между двумя экземплярами haproxy, то циклическая перестановка DNS - неплохая идея (хотя я был бы удивлен, если бы у вас была такая нагрузка). Циклическая перестановка DNS не обеспечит хорошее восстановление после отказа.
В Stack Overflow мы используем heartbeat
для предоставления одного виртуального IP-адреса, этот IP-адрес активен только на одном хосте haproxy за раз (если он отключается, другой получает этот IP-адрес). Вы можете использовать heartbeat, чтобы иметь IP-адрес на каждой машине, а затем циклический перебор DNS между ними. Если один из них потерпит неудачу, то другой будет иметь оба этих IP-адреса.
HAProxy использует около 1-5% ЦП на нашем физическом сервере для балансировки нашего трафика, который имеет один Intel(R) Xeon(R) CPU E5504 @ 2.00GHz
. Таким образом, HAProxy может легко обрабатывать большой объем трафика.