Я настраиваю новый набор серверов для существующего сайта Wordpress, и меня попросили сделать кэш памяти доступным и сделать его более устойчивым. Предлагаемая идея состоит в том, чтобы HAProxy отправлял запросы на один из двух серверов; если этот экземпляр memcache недоступен, он должен переключиться на второй, но не должен переключаться обратно на первый, если он вернется, если только второй не станет недоступен.
Это не похоже на особенно распространенный вариант использования, и я не нашел ничего подобного, кроме, возможно, настройки первого узла с огромным значением подъема, например:
server server1 10.112.58.16:11211 check inter 5s fall 3 rise 99999999
server server2 10.112.58.19:11211 check backup
который падает, как и ожидалось, когда server1 недоступен. Однако он никогда не вернется к серверу server1, даже если server2 отключится. Можно ли заставить это работать?
Keepalived или кардиостимулятор - более подходящее решение для вашего случая использования. Использование только haproxy оставляет вам единственную точку отказа и нет возможности предотвратить автоматическое восстановление после сбоя так, как вы хотите, в то время как Keepalived или кардиостимулятор сделают именно то, что вам нужно, без единой точки отказа.