Описание
Книга посвящена проектированию и последующему масштабированию сложных распределенных систем. В качестве конкретных примеров разобраны различные аспекты баз данных, микросервисов, событийно-ориентированных и потоковых систем. Уделено внимание NoSQL-подходу к проектированию баз данных, бессерверным вычислениям. Затронуты приемы обеспечения согласованности и репликации данных, в том числе при конкурентной обработке. Описываемые приемы рассчитаны, прежде всего, на быстрый рост объемов данных и на постепенное увеличение вычислительных мощностей и пропускной способности всей системы.
Для архитекторов и разработчиков программного обеспечения и баз данных
Создавать масштабируемые распределенные системы по определению сложно. А эта книга ощутимо упрощает их разработку.
Марк Ричардс, программный архитектор, основатель сайта DeveloperToArchitect.com
Основы и проектирование распределённых архитектур
Ключевые темы книги:
- Организация масштабируемых систем: архитектурные принципы, обеспечивающие стабильный рост систем, наращивание мощностей, распределение мощностей и хранилищ данных, конкурентная обработка данных. Предложены компромиссные архитектурные решения
- Проектирование масштабируемых сервисов: подробно об устройстве сервисов, кэшировании, асинхронном обмене сообщениями, бессерверной обработке, микросервисах
- Проектирование масштабируемых баз данных: основополагающие вопросы инженерии данных, работа с парадигмой NoSQL, согласованность в конечном счете и строгая согласованность
- Проектирование масштабируемых потоковых систем: исследование потоковой и событийно-ориентированной обработки данных
Во многих программных системах быстро растет пользовательская аудитория, и тогда становится важно как можно быстрее и эффективнее масштабировать систему.
Масштабирование – это совокупность приемов, позволяющих хранить и обрабатывать постоянно растущие объемы данных. Но многие организации достигают такой точки невозврата, когда система, спроектированная в расчете на небольшие нагрузки, вдруг перестает работать, и без глобальной переделки уже не обойтись.
В этой книге на практике разобраны такие подходы к проектированию, которые изначально рассчитаны на быстрое и значительное масштабирование систем с минимальными издержками.
Автор книги рассказывает программным архитекторам и разработчикам, как, опираясь на основополагающие принципы проектирования распределенных решений, сразу создавать систему с расчетом на дальнейшее масштабирование.
Рассмотрены важнейшие аспекты наращивания систем, в том числе репликация, управление состоянием, балансировка нагрузки и кэширование.
Отдельно разобрано, как масштабировать базы данных, микросервисные архитектуры и событийно-ориентированные потоковые системы.
Иэн Гортон (Ian Gorton) на протяжении более 30 лет занимается программной архитектурой. Со времен аспирантуры его научные интересы касаются, прежде всего, распределенных вычислительных систем в банковском секторе, телекоммуникациях, государственном управлении, здравоохранении, научном моделировании. Автор книг «Essential Software Architecture» (Springer) и Data-Intensive Computing (Cambridge University Press), а также более 200 научных и отраслевых статей по программной архитектуре и программной инженерии.
Отзывы
Отзывов пока нет.