TGViewer
Азбука айтишника Азбука айтишника @abc_for_it · 3.49K subscribers
Post #2611 324
💬 Как Discord хранит триллионы сообщений?

Этап 1: Ламповый старт на MongoDB (2015 год)

В первой версии Discord всё крутилось на одной реплике MongoDB. На отметке в 100 миллионов сообщений оперативная память серверов просто закончилась. База больше не могла вмещать данные и индексы чатов, задержки взлетели, и инженеры экстренно начали искать замену.

Этап 2: Масштабирование на Cassandra (2017 – 2022 годы)

Для спасения выбрали распределенную БД Cassandra. Начинали с 12 узлов (nodes), а к началу 2022 года кластер разросся до 177 узлов с триллионами сообщений.

Но на таком объеме начался ад. Cassandra использует структуру LSM-дерева, где чтение данных стоит намного дороже записи, а на серверах с сотнями тысяч юзеров одновременное чтение приводит к перегрузкам (горячим точкам).

Добивали систему фоновые задачи (сжатие SSTables) и паузы сборщика мусора (Garbage Collection) — серверы тупо «замирали» на время, генерируя дикие скачки задержек.

Этап 3: Финал на ScyllaDB и Rust

Инженеры полностью переписали архитектуру. Вместо старой связки они внедрили монолитный API, промежуточный сервис данных на Rust (для объединения одинаковых запросов) и переехали на ScyllaDB.

ScyllaDB полностью совместима с Cassandra, но написана на C++. Нет Java — нет сборщика мусора и внезапных зависаний. При этом количество серверов базы данных удалось сократить со 177 до 72.

Результаты в цифрах:

Чтение (p99): Задержка упала до 15 мс (было 40–125 мс в Cassandra).
Запись (p99): Задержка снизилась до 5 мс (было 5–70 мс в Cassandra).

🔹 Курс «Математика для разработки AI-моделей»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🏃‍♀️ Азбука айтишника

#магиякода
  • 👍 2
More from @abc_for_it
  1. Sep 15, 2026😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как трати…
  2. Sep 13, 2026🤪 Если бы можно было задать один вопрос про AI в разработке — что бы вы спросили? Как выб…
  3. Sep 13, 2026📝 OSI модель или как данные проходят квест из семи уровней, чтобы добраться от устройства…
  4. Sep 13, 2026🌸 Вселенная намекает: пора уже начать этот курс С 14 сентября цены в Proglib Academy выра…
  5. Aug 8, 2026💻 Игра для изучения Git в стиле Minecraft Разработчик Джейкоб Стопак создал игру, в котор…
  6. Aug 8, 2026🤔 У большинства разработчиков уже есть подписки на IDE, GitHub Copilot, Claude, ChatGPT и…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →