❓ Почему микросервис виснет?
Q: В микросервисе на Spring Boot с REST API начали замечать зависания и таймауты при обращении к стороннему API. Подключение через RestTemplate. Как можно диагностировать и устранить проблему?
A: Проблема, скорее всего, в отсутствии или неправильной настройке таймаутов у RestTemplate. По умолчанию они не выставлены, и поток может висеть бесконечно, дожидаясь ответа от внешнего сервиса.
Что делать:
— Проверить и настроить таймауты (.setConnectTimeout(Duration.ofSeconds(Х)) и .setReadTimeout(Duration.ofSeconds(Х)) )
— Добавить Circuit Breaker (например, через Resilience4j) — чтобы сервис не падал, если внешнее API умирает.
— Логировать время ответа, чтобы видеть деградацию раньше.
🐸 Библиотека собеса по Java
Post #884
2.17K
- 👍 15
- ❤ 1
- 🔥 1
- 😢 1