Похожие презентации:
Виды и типы архитектуры: стили, декомпозиция, нотации
1.
2.
3.
4.
СкоростьЦена ошибки
ТСО
Наблюдаемость
Данные
Масштабирование
5.
МонолитUI
Монолит – это нормально
Плюсы:
Проще и быстрее начать
Общий контекст
Минусы:
Рост связанности
Сложно и дорого масштабировать
Логика
Данные
6.
Модульный монолитUI
Монолит, который держит дисциплину
Логика
Плюсы:
Меньше связанности
Общий контекст
UI
UI
Логика
Логика
Минусы:
Низкая скорость изменений
Сложно и дорого масштабировать
Данные
7.
МикросервисыUI
Микросервисы – модно, стильно, молодежно
Плюсы:
Низкая связанность
Высокая скорость и гибкость
Минусы:
Высокая стоимость
Сложность данных и наблюдаемости
Микро
сервис
Микро
сервис
Микро
сервис
Микро
сервис
Микро
сервис
8.
Сервис-ориентированная архитектура (SOA)UI
SOA – монолитные микросервисы
Плюсы:
Сильное централизованное управление
Низкая связанность
Минусы:
Высокая стоимость
Интеграционные слои
ESB
Сервис
загрузки
Сервис
обработки
Данные
9.
Событийно-ориентированная архитектура (event-driven)Event-driven – причинно-следственная архитектура
Сервис
5
Сервис
6
Плюсы:
Асинхронность
Слабая связанность
Минусы:
Сервис
3
Дубли и повторная обработка
Отсутствие общего контекста
Сервис
1
B
r
o
k
e
r
Сервис
4
Сервис
2
10.
Скоростьизменений
ТСО
Управляемость
данных
Наблюдаемость
Цена ошибок
Монолит
Низко
Низко
Высоко
Высоко
Высоко
Модульный
монолит
Низко
Низко
Средне
Высоко
Высоко
Микросервисы
Высоко
Высоко
Низко
Низко
Низко
SOA
Средне
Высоко
Высоко
Средне
Средне
Event-driven
Высоко
Высоко
Средне
Средне
Средне
11.
12.
13.
Ограниченный контекст (Bounded Context)Один и тот же термин означает одно и то же
Признаки правильного контекста:
Внутри – единый язык
Наружу – явные контракты
Минимум «сквозных» таблиц/моделей
14.
Сцепление/связность (coupling/cohesion)Сцепление – сколько чужих вещей тебе нужно знать, чтобы изменить свою?
Связанность - все ли части внутри контейнера про одну задачу?
15.
Контракты (contracts)Это не только URL и JSON
Контракт:
• входы/выходы
• ошибки и их смысл
• версии и совместимости
• идемпотентность
• события/сообщения
16.
17.
18.
19.
20.
21.
22.
Бизнес слой – роли, процессы, функции,сущности
Функциональный слой – системы,
компоненты, функции, сущности
Технический слой – локации, сетевые
сегменты, устройства, технологии
Программирование