Нагрузочное тестирование и профилирование JVM

Оглавление Введение Нагрузочное тестирование и профилирование – критически важные этапы разработки Java-приложений на Spring Boot. Эти процессы позволяют выявить узкие места производительности и понять, как приложение ведет себя под нагрузкой. Главная цель данной статьи – дать практическое руководство с необходимой теоретической базой, чтобы backend-разработчик полностью понял процесс нагрузочного тестирования и профилирования Spring Boot приложений, и … —Читать далее—

Loading

Работа с конфигурациями в современных системах

Оглавление Введение В современном микросервисном приложении сервисы часто зависят от внешних ресурсов: баз данных, брокеров сообщений, сервисов сторонних поставщиков (платежи, email, API и пр.). Возникает вопрос – как запускать один и тот же сервис в разных средах (dev, test, staging, production) без изменения кода? Решением служит паттерн внешней конфигурации (externalized configuration). Его суть в том, … —Читать далее—

Loading

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

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

Loading

15 критических ошибок при работе с микросервисами

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

Loading

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

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

Loading