Redis как брокер: Pub/Sub и Streams
Курс о самом спорном кандидате в брокеры. Redis почти всегда уже стоит в проекте — как кэш, замки, rate limiter — и соблазн «раз он рядом, пусть будет и очередью» велик. Курс отвечает, где это решение осознанное, а где — экономия, которая выйдет инцидентом.
Цель: понимать Redis как систему целиком (память, персистентность, eviction, репликация) — и на этом фундаменте осознанно применять Pub/Sub и Streams: писать консьюмеров на consumer groups, разбираться с pending и claim'ом зависших сообщений, выдерживать отказ узла и видеть границы применимости, за которыми нужен Kafka или RabbitMQ.
Состав:
- Redis как брокер: место в ландшафте, Pub/Sub и Streams — почему Redis оказывается брокером и что это стоит, Pub/Sub и его цена, Streams как лог, consumer groups (XREADGROUP, pending, XACK, XAUTOCLAIM), гарантии и персистентность, первая лабораторная.
- Отказоустойчивость: репликация, Sentinel, Cluster — что теряется
при отказе узла и сколько длится простой; сводная таблица потерь;
лаборатория «убить мастера и посчитать потери» (с
WAITи без). - Прод-консьюмер на go-redis — цикл
XReadGroupбез потерь, идемпотентность поверх Redis, спасатель зависших (XAutoClaim), воркер-пул и backpressure, graceful shutdown; проверка фейловером под нагрузкой. - Мониторинг — карта метрик (
INFO,XINFO, возраст хвоста), SLOWLOG, redis-exporter + Prometheus, дашборд из восьми панелей, пять симптомных алертов. - Инциденты — big keys, горячий стрим, eviction под нагрузкой, OOM, чтение с реплики, blocked clients: симптом → метрика → причина → лечение, каждый воспроизводится на стенде; инцидент-квиз по графикам.
- Границы применимости — честная таблица Streams vs Kafka vs RabbitMQ по эксплуатационным осям, чек-лист «пора уезжать с Redis», план миграции (dual-write → первенство чтения) и финальный артефакт — ADR о своей очереди.
Формат: теория с Go-кодом (go-redis) в каждом уроке, лабораторные
с воспроизведением отказов (chaos), квиз, шпаргалки «Streams vs Kafka
vs RabbitMQ». Стенд курса собирается по модулям: make up (Redis + Insight),
make up-sentinel (реплика + 3 Sentinel), make up-obs (exporter + Prometheus).
Темп: ~8 недель (60–70 часов). Предварительно — курс трека «Фундамент брокеров сообщений».