Распределенные системы. Паттерны проектирования - страница 3
Мониторинг работоспособности сервисов .................................... 72
Практикум. Комплексный мониторинг
работоспособности MySQL ................................................ 73
Часть II. Паттерны проектирования
обслуживающих систем
Введение в микросервисы ........................................................... 78
Глава 5. Реплицированные сервисы с распределением нагрузки ... 82 Сервисы без внутреннего состояния ............................................ 82
Датчики готовности для балансировщика нагрузки ........... 84
Практикум. Создание реплицированного сервиса с помощью Kubernetes ....................................................... 85
Сервисы с закреплением сессий .................................................. 87
Сервисы с репликацией на уровне приложения ........................... 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