Распределенные системы. Паттерны проектирования - страница 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