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