p99 глазами разработчика: как измерять, считать, расследовать и реально снижать tail latency

Оглавление Введение Перцентили latency – это не “красивая статистика”, а способ говорить про пользовательский опыт и предсказуемость системы там, где среднее время ответа на запрос (avg) системно врет. Практика крупных распределенных систем показывает: даже редкие (например, 1%) “медленные” ответы на уровне компонентов превращаются в массовые (десятки процентов) “медленные” ответы на уровне сервиса, если запросы имеют … —Читать далее—

Loading

Версионирование REST API в Spring Boot: практическое руководство

Оглавление Введение Версионирование API – ключевой механизм, позволяющий эволюционировать веб-сервисы без нарушения работы существующих клиентов. Многие крупные компании версионируют свои REST API, чтобы внести изменения в сервис, не ломая интеграции для внешних потребителей. С другой стороны, поддержка нескольких версий API приводит к усложнению кода и увеличению объема поддержки. Если нет прямой необходимости, лучше избегать множества … —Читать далее—

Loading

CQRS в распределенных системах

Оглавление Введение Command-Query Responsibility Segregation (CQRS) – это архитектурный паттерн, предлагающий раздельное ведение операций модификации данных (команд) и операций чтения данных (запросов). Идея возникла из принципа Command-Query Separation (CQS) Бертрана Мейера, где каждый метод либо команда (изменяет состояние), либо запрос (возвращает данные), но не совмещает и то и другое. CQRS развивает эту идею на уровне … —Читать далее—

Loading

Retry storm в распределенных системах

Оглавление Введение Представьте себе: ночью происходит сбой внешнего API, и десятки микросервисов в вашем приложении дружно начинают многократно повторять неудачные запросы. Вместо быстрого восстановления система испытывает еще большую нагрузку – как будто сама себя атакует непрекращающимися повторными вызовами. Такое явление получило название “лавина ретраев” (retry storm) – ситуация, когда множество компонентов одновременно пытаются повторить сбойные … —Читать далее—

Loading

Hedged Requests в распределенных системах

Оглавление Введение В современных распределенных системах производительность и скорость отклика становятся критически важными факторами, напрямую влияющими на качество пользовательского опыта и успех бизнеса в целом. Даже незначительные всплески задержек, особенно в высоконагруженных системах, могут привести к ощутимому ухудшению производительности, снижению пользовательской удовлетворенности и, как следствие, финансовым потерям. Часто такие задержки возникают из-за того, что отдельные … —Читать далее—

Loading