🍏 Что такое компоненты системы и как показать его на схеме архитектуры? 🍏
Компонент — это отдельная, функционально законченная часть системы, которая выполняет определённые задачи и обладает собственным интерфейсом для взаимодействия с другими частями системы или пользователями.
В качестве интерфейсов могут выступать UI (User Interface) или API (Application Programming Interface).
Компоненты системы можно поделить на несколько основных групп:
➕ Frontend / UI - приложения с пользовательским интерфейсом.
> iOS, Android и Web FarmFresh для покупателя (3 отдельных компонента)
> iOS, Android и Web FFFermer для фермеров
> Admin FarmFresh - приложение для администраторов и сотрудников маркетплейса
➕ Backend / API - серверные приложения со своей логикой и API для взаимодействия с ними. Сюда относятся сервисы, микросервисы, API-Gateway и другие компоненты.
> Сервис каталога товаров с его REST API, по которому с ним будут взаимодействовать для получения списка товаров, их поиска
> Сервис платежей с его REST API, по которому с ним будут взаимодействовать сервисы заказов и подписок
➕ БД - базы данных, такие как PostgreSQL, Oracle и ФХ - файловые хранилища.
> БД сервиса каталога с товарами, PostgreSQL
> ФХ для хранения картинок товаров.
➕Системы обмена сообщениями - очереди MQ / брокеры сообщений, такие как RabbitMQ, Kafka и другие.
> Очередь для обработки запросов на рассылку SMS-уведомлений, RabbitMQ
Компоненты выделяют в процессе проектирования архитектуры систем и отражают на схеме архитектуры.
Схема архитектуры может быть визуализирована в:
✔️Геометрические фигуры (прямоугольники, стрелки, облака, своим студентам даю спец. нотацию CR, которую можно использовать в их проектах).
✔️Нотация C4 - идеально, когда нужна чисто техническая архитектура.
✔️Archimate - очень связана с бизнес-контекстом.
Другие нотации моделирования можно посмотреть в этой статье.
В рамках дальнейшей работы над проектом FarmFresh мы будем использовать нотации CR и C4.
#АрхитектураGA #FarmFreshGA
Post #2046
4.78K

- 🔥 21
- 👍 10
- ❤ 6
- ❤🔥 2