Б Бёрнс - Распределенные системы. Паттерны проектирования

Тут можно читать онлайн Б Бёрнс - Распределенные системы. Паттерны проектирования - бесплатно полную версию книги (целиком) без сокращений. Жанр: Прочая околокомпьтерная литература, издательство Питер, год 2019. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

Б Бёрнс - Распределенные системы. Паттерны проектирования краткое содержание

Распределенные системы. Паттерны проектирования - описание и краткое содержание, автор Б Бёрнс, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
Современный мир попросту немыслим без использования распределенных систем. Даже у простейшего мобильного приложения есть API, через который оно подключается к облачному хранилищу. Однако проектирование распределенных систем до сих пор остается искусством, а не точной наукой. Необходимость подвести под нее серьезный базис назрела давно, и, если вы хотите обрести уверенность в создании, поддержке и эксплуатации распределенных систем — начните с этой книги!

Распределенные системы. Паттерны проектирования - читать онлайн бесплатно полную версию (весь текст целиком)

Распределенные системы. Паттерны проектирования - читать книгу онлайн бесплатно, автор Б Бёрнс
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать
Распределенные системы Паттерны проектирования - изображение 69 Распределенные системы Паттерны проектирования - изображение 70 Распределенные системы Паттерны проектирования - изображение 71

Рис. 11.1. В данном потоке задачи копируются в несколько параллельнообрабатываемых очередей (этапы 2а, 2б), а затем снова объединяются в общую очередь (этап 3)

Простейшее приложение такого рода систем подразумевает пе-редачу выходных данных одной очереди на вход другой очереди. По мере усложнения систем появляются различные паттерны Глава 11. Событийно-ориентированная пакетная обработка 191связи очередей задач. Для понимания работы системы в целом чрезвычайно важно разбираться в этих паттернах. Принцип работы событийно-ориентированной очереди задач похож на принцип работы событийно-ориентированного FaaS-сервиса. Без общей схемы взаимодействия очередей друг с другом будет трудно в полной мере понять, как работает система. Паттерны событийно-ориентированной обработки

Помимо простейшей очереди задач, описанной в предыдущей главе, существует ряд паттернов связывания очередей задач. Простейший из них, когда выходные данные одной очереди ста-новятся входными данными другой очереди, достаточно прост и не требует рассмотрения. Рассмотрим паттерны, которые требуют согласованной работы нескольких очередей задач либо модификации выходных данных одной из очередей. Паттерн Copier

Первый паттерн координации очередей задач — Copier. Задача контейнера-копира — преобразовать исходный поток задач в несколько идентичных параллельных потоков. Этот паттерн полезен, когда над входными данными задачи необходимо вы-полнить несколько различных видов действий. Возьмем, к при-меру, рендеринг видео. Рендеринг может осуществляться во множество различных форматов, в зависимости от того, где видео будет демонстрироваться. Для воспроизведения с жестко-го диска может использоваться разрешение 4K, для потоковой трансляции по сети — 1080p, а для пользователей с медленным мобильным Интернетом — еще более низкое разрешение. Мож-но также сгенерировать анимированную миниатюру в форма-те GIF для использования в интерфейсе плеера. Под каждый 192Часть III. Паттерны проектирования систем пакетных вычислений формат рендеринга будет отведена отдельная очередь, но вход-ные данные для любого исполнителя будут идентичны. Применение паттерна Copier для перекодирования видео схе-матически изображено на рис. 11.2.

Распределенные системы Паттерны проектирования - изображение 72 Распределенные системы Паттерны проектирования - изображение 73 Распределенные системы Паттерны проектирования - изображение 74 Рис 112 Применение паттерна Copier для перекодирования видеоПаттерн Filter - фото 75 Рис 112 Применение паттерна Copier для перекодирования видеоПаттерн Filter - фото 76

Рис. 11.2. Применение паттерна Copier для перекодирования видеоПаттерн Filter

Второй паттерн событийно-ориентированной пакетной обработ-ки называется Filter. Его цель — уменьшить поток задач за счет фильтрации задач, не отвечающих определенным критериям. В качестве примера рассмотрим создание пакетного потока задач, обрабатывающего регистрацию нового пользователя. Некоторые пользователи при регистрации ставят флажок, озна-

чающий их согласие на получение по электронной почте ре-кламных рассылок и другой информации. В таком потоке задач фильтр должен пропускать только тех пользователей, которые явно подписались на получение рассылки. Глава 11. Событийно-ориентированная пакетная обработка 193В идеале контейнер-фильтр следует реализовывать в виде контейнера-посла, обертывающего существующий источник заданий. Исходный источник заданий предоставляет полный список заданий, подлежащих обработке, а контейнер-фильтр сокращает этот список на основе условия фильтрации и вы-дает только те элементы, которые ему удовлетворяют. Пример такого использования паттерна Adapter схематически приведен на рис. 11.3.

Распределенные системы Паттерны проектирования - изображение 77 Распределенные системы Паттерны проектирования - изображение 78 Распределенные системы Паттерны проектирования - изображение 79 Распределенные системы Паттерны проектирования - изображение 80 Распределенные системы Паттерны проектирования - изображение 81 Рис 113 Пример реализации паттерна Filter когда удаляются все - фото 82 картинка 83

Рис. 11.3. Пример реализации паттерна Filter, когда удаляются все нечетныезадания

Паттерн Splitter

Иногда может понадобиться не просто отфильтровать и от-бросить ненужные задачи, а разделить их на два подмноже-ства, каждое из которых попадет в свою очередь. Для такой задачи понадобится контейнер-делитель. Задача делителя, как 194Часть III. Паттерны проектирования систем пакетных вычислений и фильтра, — вычислить значение некоторого критерия. Задачи, не удовлетворяющие данному критерию, в отличие от фильтра, не отсеиваются, а помещаются в другую очередь. Примером приложения паттерна Splitter может служить обра-ботка онлайн-заказов, уведомление о доставке которых поль-зователь получает либо по электронной почте, либо текстовым сообщением. Элементами очереди задач в данном случае станут подлежащие доставке заказы. Контейнер-делитель будет опре-делять каждый заказ в одну из двух очередей — на отправку уве-домления по электронной почте либо текстовым сообщением. Контейнер-делитель может также играть роль копира, отправ-ляющего задачи в несколько очередей. Такое может произойти, когда при оформлении заказа пользователь выбрал оба типа уведомлений. Интересно также отметить, что делитель может быть реализован в виде комбинации копира и двух фильтров. Делитель, однако же, позволяет решить данную задачу более компактным образом.

Пример использования паттерна Splitter для рассылки уведом-лений о доставке приведен на рис. 11.4.

Паттерн Sharder

Паттерн Sharder — несколько более общая форма паттерна Splitter. Задача шардера потока задач, во многом как и шар-дирующего сервера, рассмотренного несколькими главами ранее, — разделить очередь задач на несколько равных частей с помощью некоторой шардирующей функции. Необходимость в шардировании потока задач может возникнуть по нескольким причинам. Одна из основных — повышение надежности. При шардировании очереди задач отказ одного из потоков задач из-за неудачного обновления, отказа инфраструктуры или по любой другой причине повлияет лишь на часть пользователей вашего сервиса.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Б Бёрнс читать все книги автора по порядку

Б Бёрнс - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Распределенные системы. Паттерны проектирования отзывы


Отзывы читателей о книге Распределенные системы. Паттерны проектирования, автор: Б Бёрнс. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x