- Категории
- Источники
- Все курсы
- Разделы
- Книги
Изучите основные принципы, регулирующие работу распределенных систем и способы проектирования систем для повышения производительности, доступности и масштабируемости. Поймите основные алгоритмы и протоколы, используемые для решения наиболее распространенных задач в пространстве распределенных систем.
В наши дни распределенные системы повсюду: от приложений чата, которые мы используем для общения с друзьями, до интернет-магазинов, которые мы используем для покупок. Однако распределенные системы по своей природе сложны. Чтобы спроектировать и построить распределенную систему, которая будет работать должным образом, нужно понимать множество различных концепций и нюансов, и литература по распределенным системам может быть довольно большой и хаотичной.
В этой книге делается попытка сопоставить основные принципы, алгоритмы и протоколы в области распределенных систем. В нем представлены основные проблемы, присущие распределенным системам, основные подходы к их решению и любые связанные с этим осложнения, которые необходимо учитывать. У вас будет возможность получить обзор основных документов в этой области, а также понять, как соответствующие алгоритмы и протоколы могут использоваться в реальной жизни. Как следует из названия, цель этой книги состоит в том, чтобы поддержать практическую перспективу, объясняя алгоритмы в самых простых терминах и демонстрируя, как их реализации могут использоваться в реальных системах.
Для кого эта книга
Эта книга предназначена для инженеров-программистов, которые имеют некоторый опыт создания программных систем и не имеют или имеют некоторый опыт работы с распределенными системами. Книга не предполагает никаких знаний о концепциях и алгоритмах для распределенных систем. Эта книга пытается постепенно ввести термины и объяснить основные алгоритмы самым простым способом, предоставляя множество диаграмм и примеров. В результате эта книга также может быть полезна людям, которые не разрабатывают программное обеспечение, но хотят получить представление о распределенных системах.