Circuit breaker, как мне он представляется, не для того нужен:) (хотя я могу ошибаться) тут мне видится как раз балансировка запросов.
Все запросы идут на один балансировщик, а уж он их перенаправляет на соответствующий "бэкенд".
Nginx Plus (он платный), вроде бы, умеет такую балансировку.
HAProxy - метод first - выглядит примерно похоже
Nginx plus у нас нет, потому вариант отпадает. Прочитал про first в haproxy, кажется это совсем не то, время ответа там не измерялось. Или же вы предлагаете просто ограничить количество соединений? (как начнутся долгие ответы, первый бэкенд войдёт в насыщение и запросы пустит на второй)