Распределённые системы лежат в основе современных цифровых сервисов — от социальных сетей до глобальных финансовых платформ.Этот курс помогает разобраться, как устроены такие системы, почему они стали стандартом индустрии и какие инженерные решения позволяют им быть надёжными, масштабируемыми и отказоустойчивыми.
Что такое распределённые системы
Распределённая система — это совокупность независимых узлов, работающих вместе как единое целое. Пользователь воспринимает её как одну систему, хотя внутри она состоит из множества взаимосвязанных компонентов.
Основные признаки
Множественность вычислительных узлов
Отсутствие общей физической памяти
Асинхронное взаимодействие
Необходимость устойчивости к сбоям
Зачем нужны распределённые системы
Современные приложения обрабатывают огромные объёмы данных и запросов. Для этого необходима архитектура, способная масштабироваться горизонтально и обеспечивать высокую доступность.
Ключевые преимущества
Масштабируемость — можно добавлять новые узлы без остановки системы.
Отказоустойчивость — выход из строя одного узла не влияет на работу всего сервиса.
Гибкость — разные узлы могут выполнять разные функции.
Экономичность — дешевле использовать много простых серверов, чем один мощный.
Ключевые концепции курса
В курсе рассматриваются фундаментальные понятия, которые необходимо понимать инженерам, работающим с распределёнными системами.
Модели взаимодействия
Разбираются RPC, REST, очереди сообщений, потоковые каналы и их применение в реальных системах.
Протоколы консенсуса
Уделяется внимание алгоритмам Paxos, Raft и другим методам достижения согласованности между узлами.
Согласованность данных
От eventually consistent до strong consistency — курс помогает разобраться, какие модели подходят под разные сценарии.
Что вы узнаете после прохождения курса
Как проектировать архитектуру распределённой системы
Привет, меня зовут Оз. Я преподаватель компьютерных наук и отец, обучающий своих детей на дому, живу в сельской местности Австралии. С 2015 года я управляю Bradfield, небольшой профессиональной школой, которая изначально была расположена в Сан-Франциско, а теперь полностью онлайн. Начиная с 2024 года, я сосредотачиваю свою энергию на csprimer.com - учебной программе по компьютерным наукам с гибким графиком. Ранее я работал инженером-программистом
014 - Dynamo
015 - Batch processing GFS and MapReduce
016 - Stream processing
012 - Models of consistency
013 - Consensus