open atlas

queues

Очереди, потоки, события

Как части системы передают работу через очереди сообщений, а не ждут друг друга — чтобы оставаться быстрыми и пережить сбой, не потеряв ни одного сообщения.

9 юнитов·46 уроков·~41 ч

Начать трек
00

С нуля

Перед senior-материалом: что вообще такое очередь сообщений и горстка слов, которые остальной трек считает уже знакомыми.
01

Гарантии доставки: at-most-once, at-least-once и правда об exactly-once

Exactly-once delivery невозможна (Two Generals). At-least-once + идемпотентный consumer = effectively-once. Kafka транзакции, SQS visibility timeout и outbox-паттерн — production-инструменты.
02

Kafka partitions

Как Kafka распределяет сообщения по partitions, назначает членов consumer group и почему количество partitions — это решение в одну сторону.
03

RabbitMQ exchanges и маршрутизация

Direct, fanout, topic и headers exchanges — как binding keys маршрутизируют сообщения и где каждый паттерн применяется на production.
04

Гарантии порядка сообщений

Почему полный порядок дорог, как Kafka обеспечивает FIFO на уровне partition и практические паттерны сохранения порядка в distributed consumers.
05

Паттерн transactional outbox

Атомарная запись строки БД и сообщения — как outbox-таблица, polling relay и CDC устраняют проблему двойной записи.
06

Change-Data Capture

Чтение write-ahead log базы данных для стриминга каждого изменения строки как события — Debezium, Postgres logical replication и операционные ловушки.
07

UX при eventual consistency

Optimistic UI, разрешение конфликтов, индикаторы прогресса и возможности повтора — как сделать асинхронные системы отзывчивыми для пользователей.
08

Всё вместе: event-driven service mesh

Сквозное проектирование pipeline обработки заказов — outbox, Kafka topics, consumer groups, CDC, dead-letter queues и observability.

Проекты по этому треку

Guided-проекты, которые закрепляют изученное здесь.

Следующий трек

Распределённые системы

Что ломается, когда система работает на множестве машин, — и как они договариваются, остаются доступными и не усугубляют сбои. Продвинутый уровень; сначала освойся хотя бы с одним бэкендом.