Паттерн TimeLimiter в микросервисах | Разбор Resilience4j TimeLimiter 🚀
CodeSnippet
0:00 / 0:00
Паттерн TimeLimiter в микросервисах | Разбор Resilience4j TimeLimiter 🚀
3 314 просмотров · 1 месяц назад
CodeSnippet
62,8 тыс. подписчиков
3 314 просмотров · 1 месяц назад
В этом видео мы изучим *паттерн TimeLimiter* в микросервисах и реализуем его в Spring Boot с помощью **Resilience4j**.
Что происходит, когда нижестоящий микросервис не завершается с ошибкой, но отвечает бесконечно долго? Бесконечное ожидание может блокировать потоки, истощать ресурсы и замедлять работу всего приложения. Именно эту проблему решает **паттерн TimeLimiter**.
Мы разберемся, как TimeLimiter работает внутри, почему ему требуется `CompletableFuture`, чем он отличается от таймаутов HTTP-клиента и как правильно его настроить на реальных примерах.
Разделы:
0:00 - Введение и план
1:37 - Проблема
5:16 - Что такое TimeLimiter?
5:44 - Необходимость ограничителя времени
7:05 - Схема работы ограничителя времени
9:00 - Таймаут против ограничителя времени
13:13 - Реализация
16:00 - Асинхронная природа ограничителя времени с использованием завершаемого будущего
24:00 - Конфигурация и демонстрация
27:00 - Внутренняя работа с использованием AOP
30:00 - Заключение
Ссылка -
Плейлист по микросервисам - • MicroServices In Spring Boot
Репозитории Git -
https://github.com/codesnippetjava/ec...
https://github.com/codesnippetjava/ec...
https://github.com/codesnippetjava/eu...
https://github.com/codesnippetjava/ec...
Мы также разберемся, почему синхронные методы не работают с `@TimeLimiter`, как асинхронное выполнение обеспечивает мониторинг таймаутов и как TimeLimiter вписывается в отказоустойчивую микросервисную архитектуру.
Это видео является частью серии по микросервисам Spring Boot, где мы создаем готовые к производству, отказоустойчивые распределенные системы с использованием Spring Boot, Spring Cloud, OpenFeign и Resilience4j.
👍 Если это видео оказалось для вас полезным, не забудьте поставить лайк, поделиться им и подписаться на канал **CodeSnippet**, чтобы получать больше уроков по Java, Spring Boot и микросервисам.