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

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

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

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

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

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

Интервал:

Закладка:

Сделать

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

После размытия номерных знаков на всех изображениях ре-зультат загрузим в другое место, а исходные изображения уда-лим. Оригиналы не следует удалять до тех пор, пока не будут обработаны все изображения. Они понадобятся на случай ка-тастрофического сбоя, если придется заново перезапустить процесс обработки. Для того чтобы дождаться обработки всех изображений, воспользуемся паттерном Join, рассмотренным в предыдущей главе. С его помощью мы объединим шардиро-ванные очереди задач в одну общую очередь, которая освободит 214Часть III. Паттерны проектирования систем пакетных вычислений

Распределенные системы Паттерны проектирования - изображение 139 Распределенные системы Паттерны проектирования - изображение 140 Распределенные системы Паттерны проектирования - изображение 141 Распределенные системы Паттерны проектирования - изображение 142 Распределенные системы Паттерны проектирования - изображение 143 Распределенные системы Паттерны проектирования - изображение 144 Распределенные системы Паттерны проектирования - изображение 145 Распределенные системы Паттерны проектирования - изображение 146 Распределенные системы Паттерны проектирования - изображение 147

Рис. 12.3. Шардированная очередь с несколькими шардами для размытияизображения

элементы для дальнейшей обработки только после того, как все шарды завершат работу.

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

‰ ‰ очередь задач по удалению оригиналов;‰ ‰ очередь задач по определению цвета и марки машины. На рис. 12.4 схематически изображены упомянутые стадии об-работки.

Глава 12. Координированная пакетная обработка 215

Распределенные системы Паттерны проектирования - фото 148 Распределенные системы Паттерны проектирования - фото 149 Распределенные системы Паттерны проектирования - фото 150 Распределенные системы Паттерны проектирования - фото 151 Распределенные системы Паттерны проектирования - изображение 152 Распределенные системы Паттерны проектирования - изображение 153 Распределенные системы Паттерны проектирования - изображение 154 Распределенные системы Паттерны проектирования - изображение 155 Распределенные системы Паттерны проектирования - изображение 156 Распределенные системы Паттерны проектирования - изображение 157

Рис. 12.4. Этапы слияния и копирования очередей, удаления исходныхизображений и распознавания образов

Наконец, необходимо разработать очередь задач по распознава-нию автомобиля и его цвета, которая бы подводила статистику по данным параметрам. Для этого сначала применим шарди-рование, чтобы распределить работу на несколько очередей. В каждой из очередей будет два исполнителя: один будет рас-познавать положение и тип транспортного средства, а второй — определять цвет распознанной области. Для слияния снова воспользуемся паттерном Multi-Worker, рассмотренным в гла-ве 10. Как и ранее, разделение кода на несколько контейнеров 216Часть III. Паттерны проектирования систем пакетных вычислений позволяет использовать контейнер, определяющий цвет, в дру-гих системах для определения цветов других объектов, а не только автомобилей.

Выходные данные очереди в формате JSON будут выглядеть примерно следующим образом:

{

"ТС": {

"автомобиль": 12,

"грузовик": 7,

"мотоцикл": 4

},

"цвета": {

"белый": 8,

"черный": 3,

"синий": 6,

"красный": 6

}

}

В этих данных представлена информация, найденная в одном изображении. Чтобы собрать данные воедино, воспользуемся описанным ранее паттерном Reduce, ставшим популярным бла-годаря MapReduce. Просуммируем все элементы точно так же, как и в примере с подсчетом. Стадия свертки в качестве резуль-тата выдает итоговое количество образов и цветов, найденных во всем множестве снимков.

13 Заключение — новое начало?Все компании, независимо от своего происхождения, становят-ся цифровыми. Такие преобразования требуют создания API и сервисов, используемых в мобильных приложениях, устрой-ствах Интернета вещей (IoT) и даже в автономном транспорте и других системах. Рост ответственности, возлагаемой на такие системы, означает, что они должны проектироваться с учетом избыточности, отказоустойчивости и высокой доступности. В то же время требования бизнеса обуславливают потребность в высокой маневренности в плане разработки и внедрения но-вого ПО, поддержки старого, а также экспериментов с новыми пользовательскими и программными интерфейсами. Сочетание упомянутых факторов привело к значительному увеличению потребности в распределенных системах.

Создавать такие системы все еще слишком сложно. Суммарная стоимость их разработки, обновления и сопровождения очень 218Часть III. Паттерны проектирования систем пакетных вычислений высока. С другой стороны, количество людей, обладающих не-обходимыми навыками и способностями, слишком мало, чтобы удовлетворить растущий спрос.

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

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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