Я не думаю, что это напрямую связано с Spring Cloud Gateway, если честно. Вопрос больше "Как развернуть высокодоступное Java-приложение?" (SCG - это приложение Spring).
Ответ зависит от платформы, которую вы используете.
Большинство платформ IAAS предоставляют собственные балансировщики нагрузки инфраструктуры, такие как ALB / ELB в AWS.
Платформу PAAS обычно включают в комплект поставки LB, например, Cloud Foundry или Kubernetes могут сделать это для вас.
DNS, вероятно, не лучший выбор по причинам, которые вы описали - TTL и кэширование клиента. Кроме того, у DNS нет способа проверить работоспособность вышестоящей службы. Таким образом, использование DNS требует балансировки нагрузки на стороне клиента, когда клиент должен быть умным и аннулировать кэш / повтор в случае сбоя запроса.