Бакалавриат
2026/2027





Распределенные системы
Статус:
Курс обязательный (Компьютерные науки и анализ данных)
Где читается:
Факультет компьютерных наук
Когда читается:
3-й курс, 1, 2 модуль
Охват аудитории:
для своего кампуса
Преподаватели:
Сухорослов Олег Викторович
Язык:
русский
Кредиты:
5
Контактные часы:
56
Программа дисциплины
Аннотация
Дисциплина является вводным курсом по распределенным системам. В ней рассматриваются основные классы распределенных систем, их особенности, предъявляемые требования и принципы реализации. Изучаются типовые проблемы, возникающие при построении распределенных систем, и способы их решения. В ходе курса студенты знакомятся с технологиями построения распределенных систем и получают практические навыки разработки распределенных приложений в рамках программных домашних заданий.
Цель освоения дисциплины
- Изучение принципов и технологий построения распределенных систем.
- Знакомство с различными классами распределенных систем и приложений.
- Получение практических навыков разработки распределенных приложений.
Планируемые результаты обучения
- Студент владеет базовыми механизмами и технологиями разработки распределенных приложений.
- Студент знает особенности различных классов распределенных систем и используемые при их реализации подходы.
- Студент знает принципы построения распределенных систем, модели программирования и методы решения типовых задач.
- Студент знает проблематику распределенных вычислений, области применения и виды распределенных систем.
- Студент умеет применять полученные знания на практике и обосновывать выбор метода решения поставленной задачи.
Содержание учебной дисциплины
- Введение в распределенные системы
- Взаимодействие между процессами, надежная передача и RPC
- Протокол HTTP, REST и веб-сервисы
- Групповые взаимодействия, рассылка и распространение информации
- Непрямое взаимодействие, очереди сообщений и publish-subscribe
- Отказы, их обнаружение и group membership
- Именование, разрешение имен и поиск
- Масштабирование, балансировка нагрузки и шардинг
- Репликация данных и согласованность
- Время, часы и порядок событий
- Консенсус и связанные задачи
- Параллельная обработка
- Безопасность в распределенных системах
- Устойчивость к произвольным (византийским) отказам
Элементы контроля
- КоллоквиумПроводится в формате коллоквиума
- ЭкзаменПроводится в формате письменного экзамена.
- Домашние задания
Промежуточная аттестация
- 2026/2027 2nd module0.2 * Домашние задания + 0.6 * Коллоквиум + 0.2 * Экзамен
Список литературы
Рекомендуемая основная литература
- Coulouris, G. F. (2012). Distributed Systems : Concepts and Dessign, Fifth Edition (Vol. Fifth edition, International edition). Harlow: Pearson Education. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1418002
- Tanenbaum, A. S., & Steen, M. van. (2014). Distributed Systems: Pearson New International Edition : Principles and Paradigms (Vol. 2nd ed). Harlow, Essex: Pearson. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1418515
Рекомендуемая дополнительная литература
- Burns, B. (2018). Designing Distributed Systems : Patterns and Paradigms for Scalable, Reliable Services (Vol. First edition). Sebastopol, CA: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1713745
- Kleppmann, M. (2017). Designing Data-Intensive Applications : The Big Ideas Behind Reliable, Scalable, and Maintainable Systems. Sebastopol, CA: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1487643
- Peterson, L. L., Davie, B. S. Computer networks: a systems approach. – Elsevier, 2007. – 835 pp.
- Petrov, A., & O’Reilly for Higher Education (Firm). (2019). Database Internals : A Deep Dive Into How Distributed Data Systems Work (Vol. First edition). Sebastopol, CA: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=2250514