---
id: TASK-45.47
title: 'Статья 07: асинхронная обработка — очереди и потоки'
status: Done
assignee:
  - '@assistant'
created_date: '2026-09-17 17:23'
updated_date: '2026-09-17 22:18'
labels: []
dependencies:
  - TASK-45.40
references:
  - applications/yandex-codenv/system-design/brief.md
parent_task_id: TASK-45
priority: medium
ordinal: 92000
---

## Description

<!-- SECTION:DESCRIPTION:BEGIN -->
Статья по разделу 07 брифа: message queues, паб-саб, at-least-once / exactly-once, idempotency, backpressure, batch vs stream. Верхний уровень, 10-20 мин чтения.
<!-- SECTION:DESCRIPTION:END -->

## Acceptance Criteria
<!-- AC:BEGIN -->
- [x] #1 articles/07-queues-streams.md создан (10-20 мин чтения)
- [x] #2 Есть разбор «что выношу из request-path в очередь» и блок «что назвать на секции»
<!-- AC:END -->

## Implementation Plan

<!-- SECTION:PLAN:BEGIN -->
1. Изучить фактуру: brief.md §07, knowledge-base.md §8 (+§7 outbox), DDIA гл. 11–13 (materials/ddia-2ed/), мосты из статей 02–06, 08, 11 и classic-designs.md — готово.
2. Написать articles/07-queues-streams.md по каркасу серии (аналог статьи 06): 15 секций — зачем очередь (выигрыши/платы), критерий «что выношу из request-path» (AC#2), два вида брокеров и словарь Kafka, семантики доставки, потеря сообщения (producer/broker/consumer), дубль → идемпотентность потребителя, порядок и ключ партиции, backpressure + DLQ, outbox/CDC, batch vs stream, отказ очереди и мониторинг lag, звучание в эталонах, ошибки, «что назвать на секции» (AC#2), самопроверка + связанные документы.
3. Проверить объём (10–20 мин чтения ≈ 3.5–4.5 тыс. слов) и целостность относительных ссылок.
4. Финализация: сверить AC с доказательствами, summary, статус Done, коммит.
<!-- SECTION:PLAN:END -->

## Implementation Notes

<!-- SECTION:NOTES:BEGIN -->
Каркас повторяет статью 06 (16 секций: словарь → критерий выноса → брокеры → паб-саб → семантики → потеря по звеньям → дедуп → порядок → backpressure/DLQ → outbox/CDC → batch vs stream → отказ и метрики → эталоны → ошибки → чек-лист → самопроверка). Решения: (1) главный акцент — на два вопроса брифа (§2 критерий выноса, §6–7 потеря/дубль), словарь Kafka — опора, а не цель; (2) «exactly-once между системами не существует» вынесено ключевой фразой §5; (3) ссылки на несозданные ещё 09/10/12 — конвенция серии (статья 06 так же ссылалась вперёд). Вычитка: исправлены перекрёстные ссылки на 08 (идемпотентность §5, асинхронность-как-отказоустойчивость §12), атрибуция «задержка вместо фермы» → медиа-эталон, §4 разведены fan-out (бизнес) vs load balancing (доставка). README.md и AGENTS.md актуализированы.
<!-- SECTION:NOTES:END -->

## Final Summary

<!-- SECTION:FINAL_SUMMARY:BEGIN -->
Создана articles/07-queues-streams.md — статья 07 серии «асинхронная обработка: очереди и потоки» (4774 слова ≈ 16–19 мин чтения, проверено подсчётом; все относительные ссылки валидны). AC#1 — файл создан, объём в коридоре 10–20 мин. AC#2 — §2 «Что выношу из request-path» (двушаговый критерий + 4 класса выноса + таблица примеров) и §15 «Что назвать на секции» (этапы 3–4 и 6 + 5 сквозных формул) на месте. Интеграция: README system-design и AGENTS.md обновлены (45.47 ✅). Задача → Done.
<!-- SECTION:FINAL_SUMMARY:END -->
