Б Бёрнс - Распределенные системы. Паттерны проектирования
- Название:Распределенные системы. Паттерны проектирования
- Автор:
- Жанр:
- Издательство:Питер
- Год:2019
- ISBN:978-5-4461-0950-0
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Б Бёрнс - Распределенные системы. Паттерны проектирования краткое содержание
Распределенные системы. Паттерны проектирования - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Пример реализации паттерна Sidecar. Добавление возможности HTTPS-соединения к унаследованному сервису ...... 35
Динамическая конфигурация с помощью паттерна Sidecar .......... 36
Модульные контейнеры приложений ........................................... 39
Практикум. Развертывание контейнера topz ...................... 40
Создание простейшего PaaS-сервиса на основе паттерна Sidecar ................................................................ 42
Разработка модульных и повторно используемых реализаций паттерна Sidecar ....................................................... 43
Параметризованные контейнеры ....................................... 44
Определение API всех контейнеров .................................. 45
Документирование контейнеров........................................ 47
Резюме ........................................................................................ 49
Глава 3 .Паттерн Ambassador ........................................................ 50
Использование паттерна Ambassador
для шардирования сервиса ...................................................51
Практикум. Шардируем Redis-хранилище .......................... 54
Использование паттерна Ambassador для реализации сервиса-посредника..................................................................... 57
Использование паттерна Ambassador для проведения экспериментов и разделения запросов ........................................ 59
Практикум. Реализация 10%-ных экспериментов .............. 60
Глава 4.Адаптеры ......................................................................... 64
Мониторинг ................................................................................. 66
Практикум. Мониторинг с помощью Prometheus ................ 67
8Оглавление
Ведение журналов ....................................................................... 69
Практикум. Нормализация форматов журналов с помощью fluentd ............................................................. 70
Мониторинг работоспособности сервисов .................................... 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
Практикум. Реализация двухфакторной
аутентификации .............................................................. 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
Читать дальшеИнтервал:
Закладка: