filmov
tv
ИТМО - Проектирование ПО - Лекция 12 - Надежное синхронное взаимодействие
Показать описание
00:00 Недетерминированность поведения распределенных систем
6:02 API gateway pattern.
9:48 Зачем нам нужна единая точка входа и какие обязанности может взять на себя api-gateway сервис.
15:54 API gateway в Quipy
20:00 Построение надежной системы из ненадежных компонентов
24:06 Ненадежность сети
30:05 Чем ненадежная сеть может навредить нашему приложению и системе в целом?
40:23 Таймауты и повторения (Timeouts and Retries)
46:12 Выделение отдельных пулов потоков на каждую внешнюю зависимость
47:23 Что может пойти не так, если использовать один пул потоков для обращения к разным системам
53:00 Лимитирование количества исходящих (и входящих) запросов - лимитирование количества одновременных (параллельных запросов) и запросов в единицу времени
58:25 Возможные способы реализации лимитирования количества параллельных запросов
1:00:55 Пример работы Rate Limiter
1:03:02 Пример работы Window Limiter
1:04:22 Демонстрация возможной реализации Rate Limiter
1:08:30 Демонстрация возможной реализации Window Limiter
1:11:05 Комбинированный подход Rate Limiting + Window Limiting - динамическая адаптация в зависимости от времени выполнения запроса
1:16:32 Паттерн Circuit Breaker
1:19:50 Понятие «скользящего окна»
1:24:09 Библиотека Resilience4j
1:25:41 Документация Circuit Breaker, его конфигурирование
1:34:40 Дополнительные подходы к обеспечению доступности и надежности - fallbacks (cache, mocks, other…)
1:37:20 Цикл прохождения запроса через circuit breakers, executors и тд
6:02 API gateway pattern.
9:48 Зачем нам нужна единая точка входа и какие обязанности может взять на себя api-gateway сервис.
15:54 API gateway в Quipy
20:00 Построение надежной системы из ненадежных компонентов
24:06 Ненадежность сети
30:05 Чем ненадежная сеть может навредить нашему приложению и системе в целом?
40:23 Таймауты и повторения (Timeouts and Retries)
46:12 Выделение отдельных пулов потоков на каждую внешнюю зависимость
47:23 Что может пойти не так, если использовать один пул потоков для обращения к разным системам
53:00 Лимитирование количества исходящих (и входящих) запросов - лимитирование количества одновременных (параллельных запросов) и запросов в единицу времени
58:25 Возможные способы реализации лимитирования количества параллельных запросов
1:00:55 Пример работы Rate Limiter
1:03:02 Пример работы Window Limiter
1:04:22 Демонстрация возможной реализации Rate Limiter
1:08:30 Демонстрация возможной реализации Window Limiter
1:11:05 Комбинированный подход Rate Limiting + Window Limiting - динамическая адаптация в зависимости от времени выполнения запроса
1:16:32 Паттерн Circuit Breaker
1:19:50 Понятие «скользящего окна»
1:24:09 Библиотека Resilience4j
1:25:41 Документация Circuit Breaker, его конфигурирование
1:34:40 Дополнительные подходы к обеспечению доступности и надежности - fallbacks (cache, mocks, other…)
1:37:20 Цикл прохождения запроса через circuit breakers, executors и тд