Разгоняем сервис до 1M RPS: с чего начинается производительность

Оглавление Введение Когда в статье написано, что система “держит 1M RPS”, а рядом нет ни размера ответа, ни latency, ни уровня ошибок, ни описания стенда, ни состояния кэша, ни правил подсчета успешных запросов, то инженерной ценности у такой цифры почти нет. Пропускная способность системы сам по себе не говорит, держит ли система реальный пользовательский трафик, … —Читать далее—

Loading

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

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

Loading

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

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

Loading

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

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

Loading

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

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

Loading