Назад | Перейти на главную страницу

Можно ли установить два одновременных поддерживающих активность VIP, чтобы разрешить HA с балансировкой нагрузки HAProxy через циклический перебор DNS?

В настоящее время я изучаю использование HAProxy в качестве балансировщика нагрузки. Я обнаружил, что рекомендуемая конфигурация для HA самого HAProxy (а не бэкэндов) включает использование keepalived для установления VIP, на который реагируют обе системы. Это означает, что когда основной перестает быть активным в сети, пассивный HAProxy отправляет безвозмездное сообщение ARP и инструктирует сеть вместо этого отправлять весь трафик для этого VIP.

Это выглядит хорошим решением, но предотвращает настройку балансировки нагрузки Active-Active для HAProxies. Мне любопытны какие-либо методы, которые позволяют обоим HAProxies отвечать на трафик и поддерживать разумное время безотказной работы в случае сбоя одного из них. Циклический перебор DNS между двумя VIP, управляемыми HAProxies, с противоположными мастерами, кажется разумным решением, но я не нашел никаких указаний относительно того, может ли keepalived поддерживать два VIP в одной системе одновременно.

Ужасная диаграмма MSPaint для иллюстрации:

Это возможно? Это разумное решение? Видели ли вы какие-либо альтернативные решения, которые жизнеспособны?


Редактировать: После публикации я нашел следующее, что предполагает, что это возможно, но предлагает использовать CLUSTERIP в качестве альтернативы. Я не уверен в совместимости CLUSTERIP и HAProxy.