🪨 Монолитная архитектура в C4 / Container - пример для проекта TelMed 🪨
На прошлой неделе я рассказала теорию про монолиты, а теперь хочу показать, как выглядит монолитная архитектура на примере телемедицинского проекта.
Для демонстрации воспользуюсь C4 / Container (контейнеры) и покажу, как она расширяет предыдущий уровень C4 / Context.
Монолит для TelMed - идеальное решение, если мы делаем разработку с нуля. Пока у нас нет пользователей и масштабных нагрузок, зачем усложнять?
Таже в нашем проекте мы избегаем жесткой монолитной архитектуры — мы не будем смешивать код пользовательского интерфейса веб-приложений (UI) и Backend. Такое решение обусловлено наличием мобильных приложений, для которых в любом случае потребуется разработка API.
Итого, мы создаем современную версию монолитной архитектуры, где монолитным остается только Backend (приложение для сервера).
Внутри монолитного Backend можно будет организовать функциональные модули. Их обычно показывают на схеме C4 / Component. Модульный монолит в будущем поможет легче переехать на сервисную архитектуру, если это потребуется.
Основное на схеме C4 / Container для монолита:
- Пользователи.
- Внешние системы и оборудование.
- Приложения пользователей.
- Монолитное сервер-приложение - Backend.
- Базы данных - для монолита одна, отдельные схемы не отражают.
- Очереди сообщений, брокеры.
Для монолитной системы онлайн-приёмов к врачам пример схемы есть ✅ Схема прикреплена к посту.
Для системного аналитика понимание архитектуры проекта необходимо, чтобы:
1. Делать точные и технически грамотные постановки задач на разработчиков, в частности, на интеграции систем.
2. Понимать нефункциональные требования, и зачем мы их делаем. В частности про безопасность, надежность и масштабирование.
3. Уверенно чувствовать себя в диалогах с разработчиками и архитекторами, потому что понимаешь всё и не теряешься, когда тебя просят задокументировать архитектуру.
Разбирайте и запоминайте, чтобы в будущем перенести этот опыт на свои задачи 🙌
#АрхитектураGA #TelMedGA
Post #1657
3.85K

- 👏 9
- 👍 5
- ❤ 4
- 🔥 2