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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

Модульные контейнеры приложений Простительно думать, что единственная причина существова-ния паттерна Sidecar — необходимость адаптации устаревших приложений без изменения их исходных текстов. И хотя это популярный вариант использования данного паттерна, суще-ствует множество других причин проектировать приложения с его помощью. Одно из основных преимуществ применения паттерна Sidecar — модульность и повторное использование контейнеров-прицепов. Для развертывания любого «боевого» приложения, от которого ожидается высокий уровень надежно-сти, требуется функционал, касающийся отладки и управления приложением, например считывание ресурсов, потребляемых приложениями внутри контейнера, по аналогии с утилитой командной строки top.

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

висимой надстройки, которую каждый разработчик сможет до-бавлять к своему приложению. В этом случае разработчик будет вынужден ее добавить, а организации придется реализовать ее для всех языков, для которых необходима ее поддержка. Такой подход при недостаточно строгой реализации почти наверняка 40Часть I. Одноузловые паттерны проектирования

приведет к расхождениям между языками и отсутствию под-держки этой функциональности в новых языках. Функциональность topz можно развернуть в виде контейнера-прицепа, работающего в том же пространстве идентификаторов процессов, что и контейнер приложения. Topz-контейнер осу-ществляет интроспекцию всех запущенных процессов и предо-ставляет единообразный пользовательский интерфейс. Кроме того, можно задействовать оркестратор для автоматического развертывания такого контейнера вместе со всеми приложения-ми, чтобы для каждого приложения, работающего в вашей ин-фраструктуре, был доступен одинаковый набор инструментов. Любой технический выбор подразумевает некоторый компро-мисс между применением модульных контейнерных паттернов и внесением собственного кода в приложение. Библиотечно-ориентированный подход всегда будет несколько менее адап-тирован под особенности вашего приложения. Подобная реа-лизация может оказаться менее эффективной в плане размера или производительности; API могут потребовать некоторой адаптации для использования в вашей среде. Я бы сравнил такой компромисс с компромиссом между покупкой готовой одежды и заказом ее у модельера. Заказная одежда вам подой-дет лучше, но на ее производство понадобится больше времени и она будет стоить вам дороже. Как и с вещами, когда дело ка-сается программирования, многим из нас имеет смысл покупать решения общего назначения. Если ваше приложение требует максимальной производительности, то, конечно же, всегда мож-но прибегнуть к самодельному решению.

Практикум. Развертывание контейнера topz Чтобы увидеть контейнер-прицеп в действии, сначала необ-ходимо создать еще один контейнер, который послужит кон-Глава 2. Паттерн Sidecar 41

тейнером приложения. Возьмите существующее приложение и разверните его с помощью Docker:

$ docker run -d <���образ-приложения>

<���хеш-сумма-контейнера>

После запуска данного образа вы получите идентификатор конкретного контейнера. Он будет выглядеть как-то так: cccf82b85000 . Если идентификатор контейнера вам неизве-стен, вы всегда можете его просмотреть с помощью команды docker ps , которая покажет все запущенные в данный момент контейнеры.

Допустим, вы поместили это значение в переменную среды APP_ID . Теперь можете запустить контейнер topz в том же пространстве идентификаторов процессов с помощью такой команды:

$ docker run --pid=container:${APP_ID} \

- p 8080:8080 \

brendanburns/topz:db0fa58

/server -addr 0.0.0.0:8080

Это запустит контейнер-прицеп topz в том же самом простран-стве идентификаторов процессов контейнера приложений. Заметьте, что вам, возможно, придется поменять порт, исполь-зуемый прицепом, если ваш контейнер с приложением так-же принимает входящие запросы на порт 8080. При запущен-ном контейнере-прицепе вы можете обратиться к адресу http:// localhost:8080/topz , чтобы получить полный срез информации о процессах, работающих внутри контейнера приложения и ис-пользуемых ими ресурсах.

Вы можете применять контейнеры-прицепы совместно с лю-быми другими контейнерами, чтобы без труда увидеть в веб-интерфейсе, как контейнер использует ресурсы хоста. 42Часть I. Одноузловые паттерны проектирования

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

Интервал:

Закладка:

Сделать

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

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


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

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

x