Стили архитектуры
Архитектурный стиль определяет семейство подобных систем с точки зрения структурной организации. В частности, стиль определяет набор компонентов и коннекторов, которые можно применять в реализациях этого стиля, а также ряд правил, согласно которым они могут сочетаться.
Виды архитектур
- Клиент-Сервер
- Многослойная n-уровневый Layered
- Горизонтальные уровни, разделенные подсетью
- Традиционный домен для бизнеса. Частота обновления не высокая.
- Модульный монолит
- Сервисы
- является хорошей отправной точкой в эволюционном переходе от монолитной архитектуры
- затем возможно переход к микросервисам, если возникнет необходимость в новом уровне масштабируемости
- Микросервисы Микрослужбы MSA
- Вертикально (функционально) разделенные службы, вызывающие друг друга через API-интерфейсы
- Сложный домен. Частые обновления.
- Высокораспределенная архитектура
- Event Driven Управляемая событиями архитектура EDA
- Производитель и потребитель
- Независимое представление для каждой подсистемы
- Интернет вещей и системы, работающие в режиме реального времени
- Большие данные BigData
- Разделение большого набора данных на мелкие блоки. Параллельная обработка для локальных наборов данных
- Пакетная обработка и анализ данных в режиме реального времени. Прогнозная аналитика с использованием машинного обучени
- Большие вычисления BigCompute
- Распределение данных в тысячах ядер
- Домены с ресурсоемкими вычислениями, например моделированием
- Микроядерная Microkernel
- этот шаблон позволяет вам добавлять дополнительные функции приложения в виде плагинов к основному приложению
- обеспечение расширяемости, а также разделения и изоляции функциональности
- SOA
- Vertical-slice
- Pipeline
- ZeroMQ
- Интерфейс — очередь — рабочая роль
- Интерфейсные и серверные задания, разделенные асинхронным обменом сообщениями
- Относительно простой домен с ресурсоемкими задачами.
- Distributed System Распределенная архитектура
- Symmetrically distributed system architectures - peer-to-peer (пример Torrent)
- Hybrid system architectures
- Cloud computing
- edge-cloud computing
- blockchain
- Массово-параллельная архитектура (Massive Parallel Processing, MPP)
Onion Луковая гексагональная архитектура
- состоит из концентрических слоёв
- зависимости идут снаружи в центр
- гексагональная архитектура, или «порты и адаптеры»
- в основе Clean Architecture