Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Backend, распределённые системы, большие данные

1. Клеппман Мартин — Высоконагруженные приложения, 2024

  • Что изучаем:

    • Архитектура высоконагруженных систем, масштабирование и отказоустойчивость.
    • Балансировка нагрузки, кеширование, очереди сообщений, репликация данных.
    • Проблемы распределённых систем: согласованность, задержки, шардирование.
  • Что получаем:

    • Понимание как строить системы, которые выдерживают миллионы пользователей.
    • Навыки проектирования архитектуры с учётом нагрузки и отказов.

2. Петров Алекс — Распределенные данные. Алгоритмы работы современных систем хранения информации, 2021

  • Что изучаем:

    • Принципы хранения и обработки распределённых данных.
    • Алгоритмы репликации, консенсуса (например, Raft, Paxos), шардирование, CAP-теорема.
    • Практические аспекты современных NoSQL и распределённых баз данных.
  • Что получаем:

    • Способность понимать внутреннюю работу распределённых хранилищ.
    • Умение проектировать системы с учётом надёжности и масштабируемости хранения данных.

3. Стренгхольт Питхейн — Масштабируемые данные, 2022

  • Что изучаем:

    • Подходы к обработке больших данных (Big Data).
    • Распределённая обработка, MapReduce, потоковые вычисления.
    • Проблемы согласованности, отказоустойчивости и масштабирования при больших объёмах данных.
  • Что получаем:

    • Навыки проектирования систем для анализа и обработки больших объёмов информации.
    • Понимание trade-off между скоростью, консистентностью и надёжностью.

4. Пол Батчер — Семь моделей конкуренции и параллелизма за семь недель

  • Что изучаем:

    • Различные модели параллельного и конкурентного программирования.
    • Потоки, асинхронные задачи, блокировки, события, CSP, Actor-модель.
    • Когда и какую модель использовать для эффективной многопоточной и распределённой работы.
  • Что получаем:

    • Понимание, как строить эффективные многопоточные и распределённые приложения.
    • Навыки выбора подходящей модели параллелизма для конкретной задачи.

Итог по разделу “Backend, распределённые системы, большие данные”:

КнигаЧто изучаемПрактическая польза
Клеппман — Высоконагруженные приложенияМасштабируемость, отказоустойчивость, балансировка нагрузкиПроектирование серверных систем под миллионы пользователей
Петров — Распределённые данныеАлгоритмы репликации, консенсуса, шардированиеПонимание работы распределённых баз данных и хранилищ
Стренгхольт — Масштабируемые данныеBig Data, потоковая и пакетная обработка, MapReduceОбработка больших объёмов данных, выбор архитектуры для аналитики
Батчер — Семь моделей конкуренцииМодели параллелизма, многопоточность, Actor, CSPЭффективное использование параллельного и асинхронного кода

Главный эффект: После прочтения этого раздела у тебя будет:

  • Понимание как проектировать масштабируемые серверные системы и распределённые приложения.
  • Навыки работы с распределёнными базами данных и обработкой больших данных.
  • Способность правильно применять параллелизм и конкуренцию в backend-системах.