Распределенные системы. Паттерны проектирования - страница 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, чтобы обеспечить доступность данных на любом  устройстве, которым пожелает воспользоваться клиент. Будете  ли вы новичком в разработке распределенных систем или зака-ленным  в  боях  ветераном,  паттерны  и  компоненты,  описанные  в  этой  книге,  помогут  превратить  разработку  таких  систем  из  искусства в науку. Повторно используемые компоненты и пат-терны  проектирования  распределенных  систем  позволят  вам  сосредоточиться  на  важных  деталях  вашего  приложения.  Это  издание поможет любому разработчику более качественно, эф-фективно и быстро создавать распределенные системы. Зачем я написал эту книгу