Это боль. Балансиры чаще всего не умеют понимать, что через них проходит, адекватно помечать и с нормальным алгоритмом повторять запросы. На моём опыте единственный нормальный вариант: делать балансировку внутри клиента. Для внешних запросов: ipvs, и страдать при переключениях. А софт не важен.
Кстати, было бы круто, если кто-нибудь расскажет о грамотной балансировке. Решения там простые, но мало кто их реально применяет.
Это я к тому, что в 4.18 для него консистент хэшинг завезли, теперь и разные ipvs будут одинаковый бакенд выбирать, и при изменении списка бакендов трафик будет идти на те же, на которые шёл.