В завершение про каскадные сбои. В микросервисной архитектуре нужно подготовить свои сервисы сбоить быстро и раздельно. Быстрый сбой компонентов нужен потому, что мы не хотим ждать, пока закончатся таймауты сломанных инстансов. Ничто так не раздражает, как зависший запрос и не отвечающий на ваши действия интерфейс. Это не только потерянные ресурсы, но и испорченный пользовательский опыт. Сервисы вызывают друг друга по цепочке, поэтому нужно уделять особое внимание предотвращению повисания операций, не допуская накопления задержек. Применение парадигмы «быстрого сбоя» в микросервисах посредством таймаутов является антипаттерном Небольшой список fail fast (выбросить ошибку как можно раньше) подходов: - Лимит на объемы любых запрашиваемых клиентом данных - Обязательный таймаут на все удаленные операции - Для баз данных и на клиенте и на сервере, т.к прерванный запрос может продолжать выполнение - Ограничение частоты обращений к серверу, а после превышения - 429 error code - Ограничение количества открываемых входящих / исходящих соединений - Ограничение размера задействованных пулов потоков под каждый тип операций - Валидация аргументов запроса к сервису на стороне клиента (запрос все равно будет отвергнут, но мы сохраним время на удаленных вызов и пропускную способность сети) Дополняйте в комментариях :)
В завершение про каскадные сбои. В микросервисной архитектуре нужно подготовить…
Из этого канала
- #236Choreography vs Orchestration in serverless microservices Mete Atamel &…
Choreography vs Orchestration in serverless microservices Mete Atamel & Guillaume Laforge https://youtu.be/Z1D0GJ7CB4 #video
- #237Carving Microservices out of the Monolith with Domain Storytelling Henning…
Carving Microservices out of the Monolith with Domain Storytelling Henning Schwentner https://youtu.be/ggdBPWDWbE #video
- #238Закон Конвея. Перевод статьи «How Do Committees Invent?» Так как статья – не…
Закон Конвея. Перевод статьи «How Do Committees Invent?» Так как статья – не художественное произведение, да еще и написана в далеком 1968 году, ее перевод…
- #234Разрабатываемые нами вычислительные системы по своей природе асинхронны. Есть…
Разрабатываемые нами вычислительные системы по своей природе асинхронны. Есть задержки, есть переключения регистрови контекстов, задержки в сети и так далее.
- #233Любое микросервисное архитектурное решение – суть распределенная система.…
Любое микросервисное архитектурное решение – суть распределенная система. Функционирование распределенной системы не детерминировано и может иметь разные…