Распределенные системы. Паттерны проектирования - страница 4
Практикум. Реализация двухфакторной
аутентификации .............................................................. 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
Паттерн Copier ................................................................ 191
Паттерн Filter .................................................................. 192
Паттерн Splitter ............................................................... 193
Паттерн Sharder .............................................................. 194
Паттерн Merger ............................................................... 196
Практикум. Создание событийно-ориентированного потока задач для регистрации нового пользователя ................ 198
Инфраструктура publish/subscribe .............................................. 201
Практикум. Развертывание Kafka ............................................... 202
Глава 12. Координированная пакетная обработка ....................... 205
Паттерн Join (барьерная синхронизация) ................................... 206
Паттерн Reduce ......................................................................... 207
Практикум. Подсчет ........................................................ 209
Суммирование ................................................................. 210
Гистограмма .................................................................... 211
Практикум. Конвейерная разметка
и обработка изображений ..................................................... 212
Глава 13. Заключение — новое начало? ..................................... 217
Об авторе ....................................................................................... 220
Об иллюстрации на обложке .......................................................... 221
Предисловие
Кому стоит прочесть эту книгу На сегодняшний день почти каждый разработчик является соз-дателем и/или потребителем распределенных систем. Даже относительно простые мобильные приложения опираются на облачные API, чтобы обеспечить доступность данных на любом устройстве, которым пожелает воспользоваться клиент. Будете ли вы новичком в разработке распределенных систем или зака-ленным в боях ветераном, паттерны и компоненты, описанные в этой книге, помогут превратить разработку таких систем из искусства в науку. Повторно используемые компоненты и пат-терны проектирования распределенных систем позволят вам сосредоточиться на важных деталях вашего приложения. Это издание поможет любому разработчику более качественно, эф-фективно и быстро создавать распределенные системы. Зачем я написал эту книгу