Курс «Архитектура мессенджера»

Бесплатный курс по архитектуре мессенджера: 22 раздела о постоянных соединениях, доставке сообщений, шардировании, E2EE и звонках. Подготовка к System Design собеседованиям. Текстовая версия — для чтения и поиска; тот же материал доступен в интерактивном тренажёре с тестами, флеш-карточками и сборкой схемы.

Часть 1 · Картина целиком

Фундамент: чем мессенджер архитектурно отличается от обычного «запрос — ответ», как очертить требования и рамки задачи и какие API торчат наружу. На эту картину опирается всё остальное.

  • Раздел 1. Что такое мессенджер с точки зрения архитектурыЧем мессенджер отличается от обычного веб-сервиса; почему нужны постоянные соединения, а не модель «запрос — ответ»; ключевые сущности (пользователь, устройство, чат, сообщение); знакомство с главным тренажёром.
  • Раздел 2. Требования и рамки задачиФункциональные требования (диалоги, группы, статусы, медиа); нефункциональные (масштаб, задержка, доступность, консистентность); прикидка нагрузки (DAU, сообщений в секунду, объём хранилища); как сужать scope прямо на интервью.
  • Раздел 2A. API-ручки (эндпоинты)Что такое ручка-эндпоинт; как вывести API из требований; HTTP против WebSocket по направлению.

Часть 2 · Соединение и доставка

Сердце курса. Как клиент держит постоянное соединение, какой путь проходит сообщение онлайн и офлайн, чем очередь отличается от лога, и как устроены гарантии доставки, порядок и статусы «доставлено / прочитано».

Часть 3 · Хранение и данные

Где сообщения живут: шардированная база и схемы таблиц, медиа через объектное хранилище и CDN, синхронизация истории между несколькими устройствами по курсору.

Часть 4 · Масштаб: группы, каналы, регионы

Что ломается при росте: группы и каналы с fan-out, балансировщики и шлюзы на входе, геораспределение и доступность при падении дата-центра.

Часть 5 · Протоколы безопасности

От TLS к сквозному шифрованию: Signal Protocol, X3DH и Double Ratchet, групповое E2EE, подход Telegram (MTProto), и честный разговор о том, чего E2EE не закрывает — метаданные, бэкапы, регуляторика.

Часть 6 · Звонки и реальное время

Реальное время поверх всего: как устроен медиапоток звонка, зачем STUN/TURN и SFU, и как шифруются групповые звонки.

Справка по сетям