Spring Modulith – модульный монолит на Spring Boot

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

Loading

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

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

Loading

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

Оглавление Введение В эпоху микросервисной архитектуры разработчики сталкиваются с проблемой реализации транзакций, охватывающих несколько распределенных сервисов. Классические ACID-транзакции, применяемые в монолитных системах, оказываются неприменимыми в среде распределенных приложений, так как каждый сервис управляет собственной базой данных и не поддерживает общие механизмы транзакционности. При этом традиционный подход с двухфазным коммитом (2PC) часто не подходит из-за его … —Читать далее—

Loading

CORS (Cross-Origin Resource Sharing): понимание механизма и практические примеры

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

Loading

Защитные паттерны в микросервисной архитектуре: RateLimiter, Bulkhead, Timeout, Fallback и CircuitBreaker

protect-patterns

Оглавление Введение: почему нужны защитные паттерны В сложных распределенных системах микросервисной архитектуры отказ или перегрузка одного компонента может привести к каскадному отказу всей системы. Например, если сервис A зависит от медленного сервиса B, а B начинает отвечать с сильной задержкой или вовсе не отвечает, то все запросы к A будут зависать и занимать потоки, пока … —Читать далее—

Loading