← [Главная](../README.md)

# 11 — Архитектурные паттерны

## Цель

Сравнить **монолит** и **микросервисы**, понять место **serverless/FaaS**, и научиться узнавать **антипаттерны** и архитектурные «запахи» до того, как они станут дорогим legacy.

## Предварительно

- Пройдены разделы **01–10** (особенно deploy и надёжность)
- Понимание bounded context (DDD, обзорно)

## Время

**5–7 часов**

---

## Нет «серебряной пули»

Каждый паттерн — **trade-off**:

| Выигрыш | Цена |
|---------|------|
| Независимые релизы | Сложность сети и данных |
| Elastic scale функции | Cold start, vendor lock-in |
| Простой монолит | Потолок команды и деплоя |

Архитектор выбирает **достаточную** сложность под контекст бизнеса.

---

## Оглавление раздела

| Страница | Содержание |
|----------|------------|
| [monolit-vs-microservices.md](monolit-vs-microservices.md) | Когда что, modular monolith, strangler |
| [serverless-i-faas.md](serverless-i-faas.md) | Lambda, события, ограничения, стоимость |
| [anti-patterny-i-smells.md](anti-patterny-i-smells.md) | Distributed monolith, chatty API, god service |

---

## Карта решений (упрощённо)

```text
Команда < 5, MVP           → монолит / modular monolith
Независимые домены, scale  → микросервисы по границам
Пиковые редкие задачи      → serverless + core API
```

---

## Эволюция, не революция

```mermaid
flowchart LR
  M[Монолит] --> MM[Modular monolith]
  MM --> S[Strangler: новые фичи сбоку]
  S --> MS[Микросервисы по мере зрелости]
```

Big bang rewrite — один из самых рискованных проектов в индустрии.

---

## Связь с организацией (Conway)

Структура системы повторяет структуру коммуникации команд. Микросервисы без **автономных команд** превращаются в распределённый монолит с совещаниями.

---

## Практика на 15 минут

Опишите учебный продукт «маркетплейс». Разделите на 3 bounded context. Для каждого: монолитный модуль или отдельный сервис — и **одна причина**.

---

## Самопроверка

1. Когда монолит — правильный выбор?
2. Что такое strangler fig pattern?
3. Назовите два trade-off serverless.
4. Как закон Conway влияет на микросервисы?

---

## Дальше

→ [Монолит vs микросервисы](monolit-vs-microservices.md)  
← [Раздел 10](../10-deploy/README.md)
