Часть III . Паттерны проектирования систем пакетных вычислений
Глава 10.Системы на основе очередей задач ............................. 173
Глава 11.Событийно-ориентированная пакетная обработка ....... 189
Глава 12.Координированная пакетная обработка ....................... 205
Глава 13.Заключение — новое начало? ...................................... 217
Об авторе ....................................................................................... 220
Об иллюстрации на обложке .......................................................... 221
Оглавление
Предисловие ..................................................................................12
Кому стоит прочесть эту книгу ..................................................... 12
Зачем я написал эту книгу ........................................................... 12
Современный мир распределенных систем .................................. 13
Как ориентироваться в книге ....................................................... 14
Условные обозначения ................................................................ 15
Онлайн-ресурсы .......................................................................... 16
Использование примеров кода .................................................... 16
Благодарности ............................................................................. 17
Глава 1. Введение .........................................................................18
Краткая история разработки систем ............................................ 19
Краткая история паттернов проектирования в разработке ПО ..... 21 Формализация алгоритмического программирования ........ 21
Паттерны в объектно-ориентированном
программировании ........................................................ 22
Расцвет программного обеспечения с открытым исходным кодом ................................................................ 2 3
Ценность паттернов, практик и компонентов ............................... 24
Стоя на плечах гигантов ................................................... 24
Общий язык обсуждения подходов к разработке ............... 25
Общие повторно используемые компоненты ..................... 26
Резюме ........................................................................................ 27
Оглавление 7
Часть I . Одноузловые паттерны проектированияМотивация ................................................................................... 30
Резюме ........................................................................................ 32
Глава 2.Паттерн Sidecar ............................................................... 34
Пример реализации паттерна 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
Читать дальше