Найти в Дзене
Подольный Вадим

Архитектура Высоконагруженных Систем. Второе издание

Вышла моя книга "Архитектура Высоконагруженных Систем", Второе издание. Первое издание успешно нашло своего читателя. Было получено множество положительных отзывов и критических замечаний, которые были учтены в настоящей редакции. Второе издание книги существенно дополняет первое. Особое внимание уделено вопросу формирования кэша, консистентности, масштабирования распределенных высоконаг- руженных систем. Добавился раздел о применении разнообразных подходов и практик, используемых в архитектуре распределенных систем. Добавился раздел с некоторыми соображениями относи- тельно кибербезопасности распределенных систем управления. Таким образом, второе издание более целостно рассматривает проблематику архитектуры высоконагруженных, распределенных систем. Рассуждения про первую редакцию книги Оглавление Глава 1. Введение Глава 2. Аппаратная архитектура Глава 3. Программная архитектура 3.1. Данные и метаданные
3.2. Способы обмена данными
3.3. Транзакции
3.4. Распределенность
3.5. Ограничен
Оглавление

Вышла моя книга "Архитектура Высоконагруженных Систем", Второе издание.

Обложка второго издания
Обложка второго издания

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

Второе издание книги существенно дополняет первое. Особое внимание уделено вопросу формирования кэша, консистентности, масштабирования распределенных высоконаг- руженных систем. Добавился раздел о применении разнообразных подходов и практик, используемых в архитектуре распределенных систем. Добавился раздел с некоторыми соображениями относи- тельно кибербезопасности распределенных систем управления.

Таким образом, второе издание более целостно рассматривает проблематику архитектуры высоконагруженных, распределенных систем.

Рассуждения про первую редакцию книги

Оглавление

Глава 1. Введение

Глава 2. Аппаратная архитектура

Глава 3. Программная архитектура

3.1. Данные и метаданные
3.2. Способы обмена данными
3.3. Транзакции
3.4. Распределенность
3.5. Ограничения распределенных систем
3.6. Единый формат данных
3.7. Операции с данными
3.8. Распределенные операции с данными

Глава 4. Принципы распределения данных

4.1. Распределенное хранение данных
4.2. Распределенная разделяемая память
4.2.1. Алгоритм с центральным узлом и без
4.2.2. Миграционный алгоритм
4.2.3. Алгоритм размножения для чтения
4.2.4. Алгоритм полного размножения
4.3. Избыточность данных
4.4. Сегментирование данных
4.5. Консолидация данных

Глава 5. Распределенная обработка данных

5.1. Узловая модель
5.1.1. Корневые узлы
5.1.2. Клиентские узлы
5.2. Способы обмена данными между узлами
5.3. Способы координации узлов
5.4. Обработка сообщений
5.4.1. Обработка очередей
5.4.2. Брокер очередей
5.4.3. Приоритизированная обработка очередей
5.4.4. Многопоточная обработка очередей
5.4.5. Распределенная обработка очередей
5.4.6. Распределенный брокер очередей

Глава 6. Надежная распределенная архитектура

6.1. Резервирование: горячее, теплое и холодное
6.1.1. Резервирование корневых узлов
6.1.2. Режим мультиактивный
6.1.3. Режим мультиактивный с резервированием
6.2. Кэширование данных
6.2.1. Когерентность кэша
6.2.2. Архитектура NUMA
6.2.3. Алгоритмы кэширования
6.2.4. Вытеснение давно неиспользуемых данных
6.2.5. Вытеснение недавно использовавшихся данных
6.2.6. Алгоритм многопоточного кэширования
6.2.7. Статическое кэширование
6.2.8. Стратегическое кэширование
6.3. Резервирование данных
6.4. Репликация данных
6.5. Синхронизация данных
6.5.1. Стратегии синхронизации
6.6. Консистентность данных
6.6.1. Модели консистентности
6.6.2. Строгая консистентность
6.6.3. Слабая консистентность
6.6.4. Консистентность в конечном счете
6.6.5. Причинная консистентность
6.6.6. Последовательная консистентность
6.6.7. Консистентность по времени
6.6.8. Линеаризуемость
6.6.9. Проблемы оценки консистентности
6.6.10. Консистентность по выходу
6.6.11. Консистентность по входу
6.6.12. Строгая консистентность в конечном счете
6.7. Современная классификация РСУ
6.7.1. Типы РСУ в зависимости от консистентности
6.7.2. Византийская задача
6.7.3. Блокчейн
6.8. Персистентность данных

Глава 7. Диагностика состояния

7.1. Диагностика и качество сервиса (QoS)
7.1.1. Метрики качества сервиса
7.1.2. Метрики приоритета
7.1.3. Метрики состояния
7.1.4. Композитные метрики
7.1.5. Метрика латентности heartbeat
7.2. Отказоустойчивость и надежность
7.2.1. Отказоустойчивая архитектура
7.2.2. Время восстановления
7.2.3. Катастрофоустойчивость
7.2.4. Архитектура высокой доступности
7.2.5. Доступность сервиса SLA
7.3. Деградация
7.3.1. Неустойчивое состояние
7.3.2. Элегантная и изящная деградация
7.3.3. Управляемая деградация
7.3.4. Деградация отклика
7.3.5. Деградация очередей
7.3.6. Деградация при информационном шторме

Глава 8. Балансировка нагрузки

8.1. Задачи балансировки
8.2. Типы балансировки
8.2.1. Балансировщик на прокси узле
8.2.2. Балансировщик на узле клиента
8.2.3. Балансировщик синхронизации координатор
8.2.4. Балансировщик синхронизации распределенный
8.3. Логика балансировки
8.4. Балансировка без обратной связи
8.4.1. Циклическое распределение
8.4.2. Циклическое распределение взвешенное
8.4.3. Разновидности циклических алгоритмов
8.4.4. Минимум соединений
8.5. Балансировка с обратной связью
8.5.1. Циклическое распределение с ОС
8.5.2. Циклическое распределение взвешенное с ОС
8.6. Балансировка с приоритизацией
8.7. Теория массового обслуживания

Глава 9. Кластеризация

9.1. Принципы построения
9.1.1. Кластеры высокой доступности
9.1.2. Кластеры распределенной нагрузки
9.1.3. Вычислительные кластеры
9.1.4. Системы распределенных вычислений GRID
9.2. Кластерные вычисления
9.2.1. Параллельные вычисления
9.2.2. Катастрофоустойчивые кластеры

Глава 10. Масштабирование

10.1. Проблемы масштабирования
10.2. Линейное масштабирование
10.3. Функциональное масштабирование
10.4. Гипермасштабирование
10.5. Жизненный цикл целевой системы

Глава 11. Архитектурные шаблоны

11.1. Базовые архитектурные шаблоны
11.1.1. Каналы и фильтры
11.1.2. Клиент — сервер, многоуровневая архитектура
11.1.3. Распределенная конвейерная архитектура
11.1.4. Брокер очередей
11.1.5. Многослойная архитектура
11.1.6. Выделенное ядро
11.1.7. Издатель-подписчик
11.2. Архитектурные шаблоны РСУ
11.2.1. Интерконнект
11.2.2. Событийно управляемая архитектура
11.2.3. Сервис ориентированная архитектура
11.2.4. Микросервисная архитектура
11.2.5. Оркестратор и хореография
11.2.6. Распределенное ядро
11.2.7. Разделение ответственности команд и запросов
11.2.8. Двухфазная фиксация
11.2.9. Сага

Глава 12. Приемы реализации

12.1. Распределенные СУБД
12.1.1. Ключ-значение
12.1.2. Объектная надстройка
12.1.3. Связи и отношения между объектами
12.1.4. Индексирование
12.1.5. Временные ряды
12.2. Критические информационные системы
12.2.1. АСУ непрерывного производства
12.2.2. АСУ дискретного производства
12.2.3. Цифровой двойник
12.2.4. Предиктивная аналитика
12.2.5. Граничные и туманные вычисления
12.2.6. Интернет вещей
12.3. Обработка данных
12.3.1. Обработка временных рядов
12.3.2. Маркировка данных метками времени

Глава 13. Кибербезопасность РСУ

13.1. Угрозы в РСУ
13.1.1. Техногенные источники угроз
13.1.2. Антропогенные источники угроз
13.2. Уязвимости в РСУ
13.2.1. Методы исследования уязвимостей
13.3. Методы проведения атак РСУ
13.3.1. Виды атак
13.3.2. Жизненный цикл атак
13.3.3. Логические атаки
13.4. Методы защиты РСУ
13.4.1. Понятие доверия в РСУ
13.4.2. Повышение доверия
13.4.3. Инвентаризация
13.4.4. Доверенная загрузка
13.4.5. Распределенность как метод защиты
13.4.6. Защита управления
13.4.7. Типовые методы защиты

Подробнее на podolny.ru/book

Книга доступна на shop.4cio.ru

Электронная версия там же

Демо версия доступна тут