Сервисы с репликацией на уровне приложения ........................... 89
Добавляем кэширующую прослойку ............................................ 89
Развертывание кэширующего сервера .............................. 90
Практикум. Развертывание кэширующей прослойки .......... 92
Расширение возможностей кэширующей прослойки .................... 95
Ограничение частоты запросов и защита от атак типа «отказ в обслуживании» (DoS) .......................................... 95
SSL-мост ............................................................................ 96
Практикум. Развертывание nginx и SSL-моста .................... 98
Резюме ...................................................................................... 10 1
Глава 6.Шардированные сервисы ............................................... 102
Шардирование кэша .................................................................. 103
Зачем вам нужен шардированный кэш ............................ 104
Оглавление 9
Роль кэша в производительности системы ...................... 105
Реплицированный и шардированный кэш ........................ 107
Практикум. Развертывание реализации паттерна Ambassador и сервиса memcache
для организации шардированного кэша ..................... 108
Шардирующие функции ............................................................ 114
Выбор ключа ................................................................... 115
Консистентные хеш-функции .......................................... 117
Практикум. Построение консистентного
шардированного прокси-сервера .................................... 118
Шардирование реплицированных сервисов ............................... 119
Системы с «горячим» шардированием ....................................... 120
Глава 7.Паттерн Scatter/Gather ................................................... 122
Scatter/Gather с распределением нагрузки
корневым узлом ........................................................................ 123
Практикум. Распределенный поиск в документах ............ 125
Scatter/Gather с шардированием терминальных узлов ............... 126
Практикум. Шардированный поиск в документах ............ 128
Выбор подходящего количества терминальных узлов ..... 129 Масштабирование Scatter/Gather-систем с учетом надежности и производительности ............................................ 132
Глава 8.Функции и событийно-ориентированная обработка ....... 134
Как определить, когда полезен подход FaaS .............................. 135
Преимущества FaaS ......................................................... 136
Проблемы разработки FaaS-систем .................................. 136
Потребность в фоновой обработке .................................. 138
Необходимость хранения данных в памяти ..................... 138
Стоимость постоянного использования
запросно-ориентированных вычислений ......................... 139
10Оглавление
Паттерны FaaS ........................................................................... 140
Паттерн Decorator. Преобразование запроса
или ответа ...................................................................... 140
Практикум. Подстановка значений по умолчанию до обработки запроса ..................................................... 142
Обработка событий ......................................................... 144
Практикум. Реализация двухфакторной
аутентификации .............................................................. 145
Событийные конвейеры .................................................. 147
Практикум. Реализация конвейера для регистрации нового пользователя ....................................................... 148
Глава 9.Выбор владельца ........................................................... 151
Как определить, нужен ли выбор владельца ............................. 152
Основы процесса выбора владельца .......................................... 155
Практикум. Развертывание etcd ...................................... 157
Реализация блокировок .................................................. 159
Практикум. Реализация блокировок в etcd ...................... 163
Реализация владения ...................................................... 164
Практикум. Реализация аренды в etcd ............................. 166
Параллельный доступ к данным ................................................ 167
Часть III . Паттерны проектирования систем пакетных вычислений
Глава 10.Системы на основе очередей задач ............................. 173
Система на основе обобщенной очереди задач ......................... 173
Интерфейс контейнера-источника ................................... 174
Интерфейс контейнера-исполнителя ............................... 177
Общая инфраструктура очередей задач .......................... 179
Практикум. Реализация генератора миниатюр
видеофайлов ............................................................................. 182
Оглавление 11
Динамическое масштабирование исполнителей ......................... 184
Паттерн Multi-Worker ................................................................. 187
Глава 11.Событийно-ориентированная пакетная обработка ....... 189
Паттерны событийно-ориентированной обработки .................... 191
Паттерн Copier ................................................................ 191
Паттерн Filter .................................................................. 192
Читать дальше