Содержание
Предисловие 12
Для кого предназначена эта книга? 13
Структура книги 14
Анализ примеров 15
Благодарности 15
1. Введение 16
1.1. Правильный выбор цели 17
1.2. Важность интуиции 18
1.3. Качество жизни 18
1.4. Охват проблемы 19
1.5. Миллионом больше, миллионом меньше 20
1.6. Прагматичная архитектура 21
Часть I. Стабильность
2. Исключение, помешавшее работе авиакомпании 24
2.1. Авария 25
2.2. Последствия 30
8 Содержание
2.3. Анализ причин сбоя 31
2.4. Бесспорное доказательство 34
2.5. Легче предупредить, чем лечить? 36
3. Понятие стабильности 38
3.1. Определение стабильности 39
3.2. Режимы отказов 41
3.3. Распространение трещин 42
3.4. Цепочка отказов 43
3.5. Паттерны и антипаттерны 44
4. Антипаттерны стабильности 46
4.1. Точки интеграции 48
4.2. Цепные реакции 61
4.3. Каскадные отказы 64
4.4. Пользователи 67
4.5. Блокированные программные потоки 79
4.6. Самостоятельно спровоцированный отказ в обслуживании 85
4.7. Эффекты масштабирования 88
4.8. Несбалансированные мощности 93
4.9. Медленная реакция 97
4.10. SLA-инверсия 98
4.11. Огромные наборы результатов 102
5. Паттерны стабильности 106
5.1. Задавайте таймауты 106
5.2. Предохранители 110
5.3. Переборки 113
5.4. Стабильное состояние 117
5.5. Быстрый отказ 123
5.6. Квитирование 126
5.7. Тестовая программа 128
5.8. Разделение связующего ПО 132
6. Заключение по теме стабильности 135
Часть II. Вычислительная мощность
7. Затоптаны клиентами 138
7.1. Обратный отсчет и запуск 138
7.2. Цель — пройти тест качества 139
7.3. Нагрузочное тестирование 142
7.4. Растоптаны толпой 145
7.5. Недочеты тестирования 147
7.6. Последствия 148
8. Понятие вычислительной мощности 151
8.1. Определение вычислительной мощности 151
8.2. Ограничители 153
8.3. Взаимное влияние 155
8.4. Масштабируемость 155
8.5. Мифы о вычислительной мощности 157
8.6. Заключение 163
9. Антипаттерны вычислительной мощности 165
9.1. Конкуренция в пуле ресурсов 165
9.2. Избыточные JSP-фрагменты 169
9.3. Перебор с AJAX 170
9.4. Затянувшиеся сеансы 173
9.5. Напрасный расход пространства HTML-страницами 175
9.6. Кнопка обновления страницы 179
9.7. Кустарный SQL-код 180
9.8. Эвтрофикация базы данных 183
9.9. Задержка в точках интеграции 186
9.10. Cookie-монстры 187
9.11. Заключение 189
10. Паттерны вычислительной мощности 191
10.1. Организация пула соединений 192
10.2. Будьте осторожны с кэшированием 194
10.3. Предварительное вычисление контента 196
10.4. Настройка сборщика мусора 199
10.5. Заключение 202
Часть III. Общие вопросы проектирования
11. Организация сети 204
11.1. Многоинтерфейсные серверы 204
11.2. Маршрутизация 207
11.3. Виртуальные IP-адреса 208
12. Безопасность 211
12.1. Принцип минимальных привилегий 211
12.2. Настроенные пароли 212
13. Доступность 214
13.1. Сбор требований доступности 214
13.2. Документирование требований
доступности 215
13.3. Балансировка нагрузки 217
13.4. Кластеризация 223
14. Администрирование 225
14.1. «Совпадают ли условия тестирования с условиями эксплуатации?» 226
14.2. Конфигурационные файлы 228
14.3. Начало и завершение работы 231
14.4. Административные интерфейсы 232
15. Заключение по теме проектирования 233
Часть IV. Эксплуатация
16. Феноменальная мощь и маленькое жизненное пространство 236
16.1. Время максимальной нагрузки 236
16.2. Первое в жизни Рождество 237
16.3. Рука на пульсе 238
16.4. День благодарения 240
16.5. Черная пятница 240
16.6. Жизненно важные функции 242
16.7. Диагностические тесты 243
16.8. Обращение к специалисту 244
16.9. Сравнение вариантов лечения 245
16.10. Есть ли реакция на лекарство? 246
16.11. Выводы 247
17. Прозрачность 248
17.1. Точки зрения 250
17.2. Проектирование с учетом прозрачности 257
17.3. Применение технологий 258
17.4. Протоколирование 259
17.5. Системы мониторинга 266
17.6. Стандарты де юре и де факто 271
17.7. База данных функционирования системы 280
17.8. Вспомогательные процессы 286
17.9. Заключение 290
18. Адаптация 292
18.1. Адаптация со временем 293
18.2. Проектирование адаптируемого ПО 294
18.3. Адаптируемая архитектура предприятия 301
18.4. Безболезненный переход к новой версии 308
18.5. Заключение 316
Список литературы 317
Добавить комментарий