🪨 Монолитная архитектура и ее особенности 🪨
Монолитная архитектура – это подход к разработке программного обеспечения, при котором все компоненты приложения объединены в единый и неделимый блок, называемый монолитом.
В такой архитектуре вся функциональность приложения, включая:
+ интерфейс пользователя (UI),
+ базу данных (БД),
+ бизнес-логику (алгоритмы обработки данных),
обычно реализуется внутри одного приложения и работает как единое целое. Весь код в одном месте.
Проще говоря, когда вы ставите задачу на программиста, то вы не задумываетесь о понятиях Backend-Frontend, клиент-сервер, с мобильными приложениями не работаете. Системный аналитик в таких проектах занимается описанием экранов и алгоритмов обработки данных, ставит ОДНУ ЗАДАЧУ НА ОДНОГО ПРОГРАММИСТА (full-stack), который делает всё. Идеально начинать карьеру в таких проектах и из них расти дальше.
Но UI+БД+Логика - это прям жесткий монолит 😢 Есть другой вариант монолитной архитектуры, когда это касается только сервера.
Из-за наличия мобильных приложений, которым проблематично напрямую делать SQL-запросы в БД, UI начали активно выносить из этого жесткого монолита. И сейчас аналитики как правило делают задачи отдельно на UI (Frontend / Mobile), и отдельно на API+БД (Backend). При этом проект может всё еще оставться монолитным в части сервера, так как вся-вся логика обработки данных лежит в одном месте, а все данные в одной БД.
Монолиты хороши для небольших проектов и стартапов 🙌
Но когда мы говорим о высоконагруженных многопользовательских системах, таких как системы бронирования билетов на самолеты. маркетплейсы, социальные сети, платформы для обучения и другие, которыми ежедневно пользуются сотни тысяч или даже миллионы человек, то развивать проект в монолитной архитектуре становится болью для всей команды.
Почему монолиты приносят страдания для больших проектов? Расскажу в следующем посте 👇
#АрхитектураGA
Post #1647
4.05K

- 👍 17
- ❤ 4
- 🥱 1