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

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

Распределенные системы. Паттерны проектирования: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Распределенные системы. Паттерны проектирования»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

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

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

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Распределенные системы. Паттерны проектирования», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Применение паттерна Sidecar в данной ситуации самоочевидно. Унаследованный веб-сервис настроен на обслуживание запро-сов исключительно с локального компьютера (127.0.0.1), а это значит, что к нему могут получить доступ только те сервисы, которые используют общий с ним сетевой адаптер (то есть за-пущены на одном компьютере). Обычно это непрактично, по-скольку означает, что к такому сервису никто не сможет полу-чить доступ. При использовании паттерна Sidecar к контейнеру с приложением добавляется контейнер-прицеп с веб-сервером nginx. Nginx-контейнер находится в том же пространстве имен, что и унаследованное веб-приложение, поэтому ему доступен сервис, работающий на localhost. В то же время nginx позволяет обслуживать HTTPS-трафик, приходящий с внешнего адреса группы контейнеров, и проксировать его унаследованному веб-приложению (рис. 2.2). Поскольку незашифрованный трафик проходит только через локальный петлевой интерфейс внутри группы контейнеров, уровень безопасности данных теперь удов-летворяет службу сетевой безопасности компании. Таким обра-зом, команда модернизировала унаследованное приложение, не задаваясь проблемой его пересборки с целью поддержки HTTPS.

Распределенные системы Паттерны проектирования - изображение 16 Рис 22 HTTPSприцеп Динамическая конфигурация с помощью паттерна Sidecar - фото 17

Рис. 2.2. HTTPS-прицеп

Динамическая конфигурация с помощью паттерна Sidecar Простое проксирование трафика в уже существующее прило-жение не единственный случай применимости паттерна Sidecar. Глава 2. Паттерн Sidecar 37

Другой расхожий пример — синхронизация конфигурации. Многие приложения используют конфигурационные файлы для настройки параметров. Они могут быть простыми текстовыми файлами либо иметь более жесткую структуру, как у форматов XML, JSON или YAML. Многие приложения написаны с уче-том того, что такой файл в системе существует и что они смо-гут считать из него свою конфигурацию. Однако в изначально облачной среде полезнее использовать API для обновления конфигурации. Это позволяет динамически разворачивать кон-фигурацию посредством API, а не заходить вручную на каждый сервер и редактировать конфигурационные файлы импера-тивными командами. Желание задействовать такой API про-диктовано как легкостью использования, так и возможностью автоматизации, например отката, что делает конфигурацию и реконфигурацию сервера безопаснее и проще. По аналогии с примером про HTTPS новые приложения можно писать так, чтобы их конфигурация была динамической и ее можно было получать с помощью облачных API-запросов. Адаптация же существующего приложения и его обновление могут оказаться более сложной задачей. К счастью, паттерн Sidecar можно также использовать для расширения функцио-нальности приложения новыми возможностями, не изменяя при этом самого приложения. В реализации паттерна Sidecar, приведенной на рис. 2.3, также показано два контейнера — кон-тейнер, предоставляющий услуги приложения, и контейнер с менеджером конфигурации. Два контейнера объединены в под, в котором они совместно используют каталог. В этом совместно используемом каталоге и находится конфигураци-онный файл.

Унаследованное приложение при запуске предсказуемо загружа-ет конфигурацию из файла в файловой системе. Менеджер кон-фигурации при запуске считывает данные конфигурационного 38Часть I. Одноузловые паттерны проектирования

Рис 23 Пример использования паттерна Sidecar для динамическогоуправления - фото 18

Рис. 2.3. Пример использования паттерна Sidecar для динамическогоуправления конфигурацией

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

Механизм такого уведомления различается от приложения к приложению. Одни приложения следят за изменением кон-фигурационного файла, другие ожидают сигнала SIGHUP. Глава 2. Паттерн Sidecar 39

В крайнем случае менеджер конфигурации может завершить приложение, отправив ему сигнал SIGKILL. После остановки приложения оркестратор перезапустит контейнер унаследован-ного приложения, и в этот момент оно загрузит новую конфигу-рацию. Как и в случае с добавлением HTTPS в существующее приложение, этот пример иллюстрирует, как паттерн Sidecar может помочь адаптировать существующие приложения к тре-бованиям облачной среды.

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

Интервал:

Закладка:

Сделать

Похожие книги на «Распределенные системы. Паттерны проектирования»

Представляем Вашему вниманию похожие книги на «Распределенные системы. Паттерны проектирования» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


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

Обсуждение, отзывы о книге «Распределенные системы. Паттерны проектирования» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x