|
Работа с Web-сервисами в корпоративных SOA: Часть 6. Сбалансируйте нагрузку приложений Web-сервисов при помощи ПО WebSphere Application Server
Статьи
→
SOA и Web-сервисы
Введение
В четвертом разделе данной серии под названием «Создайте межплатформенное программное обеспечение SOA при помощи инструментария Rational development tools» ( «Build an SOA middleware application with Rational development tools») (см. Ресурсы) рассказывалось о том, как применять инструменты Web-разработки для создания приложения. В пятом разделе под названием «Оптимизируйте приложения Web-сервисов инструментарием WebSphere Business Integration» ( «Optimize Web Service applications with WebSphere Business Integration tools») (см. Ресурсы) объяснялось, как применить инструменты бизнес-процесса для интегрирования и оптимизации приложений. Я упоминала о том, как снижение количества Web-запросов наряду с уменьшением времени выполнения, времени доступа и снижением пропускной способности помогает оптимизации приложений Web-сервисов.
Данный раздел посвящен проблемам загрузки приложений и их влиянию на взаимодействие Web-сервисов между собой. Здесь же будет рассматриваться проблема «затора» трафика, возникающая в результате того, что за в пределах ограниченного времени слишком большое количество посетителей посылает огромное количество запросов в приложение Web-сервиса. Затем я рассматриваю преимущества использования некоторых технологий балансировки нагрузки.
Необходимо отдавать себе отчет в том, что Web-запросы отличаются от гостевых запросов. Количество Web-запросов зависит не только от числа гостевых запросов, но и от типа и содержания гостевых запросов, формирующих оптимизированные Web-запросы.
Медленный ответ
Чтобы лучше понять разницу, взгляните на следующий пример. Если после отправки гостем запроса на сервер при помощи Web-сервиса ему приходится ожидать ответа в течение слишком долгого времени, гость начинает использовать другой Web-сервис или обращается на другой сайт для получения более быстрого ответа. Web-сервис, куда изначально обращался гость, начнет обрабатывать все входящие гостевые запросы для того, чтобы создать и оптимизировать Web-запросы для передачи их на целевые Web-сервисы.
Медленная скорость реагирования оригинального Web-сервиса может свидетельствовать о том, что целевой сервер либо занят, либо его память не может вместить систему обработки более одного гостевого запроса (организация многопоточной обработки данных). Один из способов решения проблем перегрузки сервера – сбалансированное распределение нагрузки между серверами для того, чтобы посетители не тратили много времени на ожидание ответа. Это и есть технология балансировки нагрузки.
Быстрый ответ
Сбалансированное распределение нагрузки между серверами лучший метод по сравнению с использованием внешних ресурсов Web-сервиса, так как он позволяет использовать RAID-массив для серверов повышенной мощности, улучшенных проектов планировки, а также обеспечивает пропускную способность, необходимую в пик трафика. Такой вариант затратен. Однако, применяя технологию балансировки нагрузки, вы получаете больше шансов обеспечить высокий уровень функционирования и надежности, снизив одновременно пропускную способность, время исполнения и время доступа. При этом автоматически срабатывает механизм восстановления после отказа.
Именно по этим причинам большинству компаний выгодно применять технологию балансировки нагрузки, особенно в пиковые моменты трафика для Web-сайтов, когда обработка данных происходит особенно медленно. Этим компаниям необходимо более быстрое выполнение запроса, нежели отдельным пользователям, поскольку компаниям необходимо выполнить большее количество работы за минимальное время.
Вы можете адресовать работу на другой хост-адрес сервера в формате доменных имен или распределить нагрузку сервера между двумя или более другими серверами. Вам потребуется дополнительный сервер, чтобы точно определить, на какой именно сервер нужно отправить запрос. Эти серверы необходимо объединить и снабдить их системой восстановления после отказа и системой резервного копирования данных на случай нарушения работы сервера, особенно если вы устанавливаете серверы или образуете кластеры серверов в различных географических точках.
Проведем аналогию с тележками в магазине самообслуживания
Представим, что серверы для балансировки нагрузки – 4 кассы супермаркета. Проанализируем, как происходит распределение нагрузки супермаркета между этими кассами.
Предположим, что вы стоите в длинной очереди к кассе № 1 – приблизительно вы можете представить себе, сколько времени вам потребуется, чтобы в порядке очереди подойти к кассе. Если вы понимаете, что очередь движется медленно, и одновременно видите, что к кассе № 4 подошел кассир, чтобы открыть кассу и начать работу, вы со своей тележкой быстро отправитесь к кассе № 4. (см. Рисунок 1).
Затем еще один кассир начинает работу в кассе № 3 и делает знак покупателю, который изначально стоял в очереди перед вами. Этот покупатель, естественно, отправляется к кассе № 3. Касса № 2 остается пока закрытой.
Рисунок 1. Балансировка нагрузки между магазинными тележками
Сократите время обслуживания
Посмотрим на балансировку нагрузки с другой стороны. Если у вас очень большая тележка, наполненная месячным запасом продуктов из расчета на семью в 10 человек, у вас возникает необходимость пропустить покупки через несколько касс одновременно, особенно если члены семьи не помогают вам делать покупки. Вы можете сократить время обслуживания, распределив содержимое тележки одновременно между несколькими свободными кассами.
Когда такая задача физически не выполнима, вы можете совершить подобную операцию при помощи балансировщика нагрузки, который автоматически перераспределит запросы из загруженной в данный момент «продуктовой тележки» приложения Web-сервиса на другие серверы, свободные в данный момент (см. Рисунок 2). Эксплуатация серверов, загруженных не на полную мощность, в то время как другие серверы едва справляются с обработкой данных, дело слишком затратное.
Рисунок 2. Балансировка нагрузки запросов в режиме онлайн
Возможные вопросы
Итак, как же вы решите данную проблему? Попытаетесь быстрее добраться до кассы (повысите пропускную способность)? Увеличите размеры самой кассы (увеличите мощность сервера)? Найдете помощника для того, чтобы сделать покупки (прибегните к внешним ресурсам)? Ни один из этих способов не сработает.
Задайте следующие вопросы:
- Какой тип приложений требует балансировки нагрузки?
- Это долгосрочное приложение в рамках глобальной распределительной сети?
- Какое количество запросов получит сервер или кластер серверов за определенное время?
- Каково ожидаемое количество трафика, какова ожидаемая пропускная способность в пиковые моменты?
- Насколько загружены серверы для выполнения приложений по балансировке нагрузки?
- Какое количество посетителей ожидается в определенные промежутки времени?
- Каково максимальное количество запросов, отправленное одним посетителем?
Когда вы придете к альтернативному решению, согласуйте его с системным администратором. Затем создайте программу балансировки нагрузки, используя некий алгоритм, технологию или инструмент, чтобы переадресовать посетителя и Web-запросы с загруженного сервера на сервер, доступный в данный момент для работы.
Технологии балансировки нагрузки
Среди технологий балансировки нагрузки можно выделить следующие::
- Простая маршрутизация
- Алгоритм кругового обслуживания DNS (DNS round robin)
- Сложные алгоритмы
- Интеллектуальная ( «умная») маршрутизация
Поскольку в реальной жизни в первую очередь необходимо решить проблемы трафика, при разработке приложения Web-сервиса обратите особое внимание на две последних технологии, ведь распределенные сети серверов постоянно расширяются, а количество посетителей, которым требуется быстрый ответ на запрос, увеличивается. Поскольку первые две технологии не отдают приоритет проблемам трафика, они не будут обсуждаться в связи с вопросами «затора» трафика.
При использовании сложных алгоритмов запросы распределяются в зависимости от качества работы сервера, его аппаратного обеспечения и обработки приоритетного права клиента. Это означает, что более скоростные серверы получают наибольший объем запросов и наивысшее число покупателей. Технология интеллектуальной ( «умной») маршрутизации базируется на содержании запроса и возможности переориентирования трафика на другой сервер по другому каналу связи в случае сбоев в работе сервера, но который изначально поступил запрос.
Серверное ПО
Когда вы добьетесь сбалансированности нагрузки с помощью ПО, аппаратного обеспечение, или обоих одновременно, вам лучше отказаться от серверного ПО с использованием кластера серверов приложений. Применение серверного ПО в данных целях обойдется гораздо дешевле. Обновление аппаратного обеспечения гораздо дороже, чем обновление ПО.
Прежде чем вы установите в сети серверное ПО, убедитесь, что сеть настроена правильно и что установлен гибкий балансировщик нагрузки. Гибкость балансировщика является обязательным условием, поскольку балансировщик нагрузки, установленный в соответствии с требованиями приложений Web-сервиса сегодняшнего дня, должен иметь возможности для увеличения объема в соответствии с требованиями приложений дня завтрашнего.
IBM WebSphere Application Server – один из примеров серверного ПО, где используются как сложные алгоритмы, так и интеллектуальная ( «умная») маршрутизация для балансировки нагрузки и восстановления после отказа. Его балансировщик нагрузки имеет возможность увеличиваться в объеме в соответствии с будущими требованиями приложений Web-служб. Вам необходимо установить кластер серверов для балансировки нагрузки и проверить систему восстановления после отказа. (см. Ресурсы).
Другим примером является многоплатформенный WebSphere Edge Server V2.0. Он спроектирован для улучшения операции выбора сервера, оптимизации нагрузки и повышения устойчивости к сбоям. В пакете поставки он снабжен ПО Network Address Translation (NAT), маршрутизацией на уровне ядра Kernel-level Content Based routing (CSR), и WebSphere Edge Server Consultant для переключателей свечей Cisco CSS (см. Ресурсы).
Заключение
Приложения для Web-сервисов по балансировке нагрузки требуют предварительного планирования времени, чтобы заранее определить, как можно распределить нагрузку в пиковые моменты трафика. Свяжитесь с системным администратором, чтобы проконсультироваться о том, какие технологии балансировки нагрузки необходимо использовать при планировании Web-сервисов.
Вы поймете, что выбор технологии значительно облегчит вашу работу по созданию приложения Web-сервиса по балансировке нагрузки. Вы можете создать и запустить в эксплуатацию Web-сервис на основе бизнес-процесса внутри архитектур SOA и между ними. Администраторы поймут, что выбор технологии значительно облегчит их работу по созданию приложения Web-сервиса по балансировке нагрузки. Они смогут определить, оптимальную технологию балансировки нагрузки и количество приложений, которые можно сбалансировано загрузить в SOA.
23.02.2008
Комментарии
Добавить комментарий (анонимные комментарии не публикуются!!!)
Новости и пресс-релизы СМ-Консалт
21.02.2012 12:42:20 Новая статья: IT и психология. Человеческий фактор в парном программировании: почему многие не получают желаемого от его внедрения?
Статья, находящаяся перед вами, открывает цикл статей о человеческом
факторе, Agile-практиках и других полезных приемах, используемых при
управлении командами в ИТ. Объединяет рассматриваемые практики и приемы
одно – они позволяют проявиться положительным эффектам, связанным с
человеческим фактором. И мы объясняем, почему с точки зрения психологии,
это происходит. Так сказать, подводим теоретическую и экспериментальную
базу под то, что себя уже давно зарекомендовало и работает. Или под то,
что работает не у всех, и потому является предметом оживленных споров и
дискуссий. И начинаем мы наши исследования с рассмотрения эффекта
парного программирования через призму экспериментов социальной
психологии.
Отдельную благодарность за рецензию и время, потраченное на прочтение
первого варианта статьи, выражаем Асхату Уразбаеву,
ценные замечания которого позволили не только улучшить данную статью,
но и позволили убедиться в необходимости и востребованности именно цикла
статей!
Читать -->
27.12.2011 16:15:27 Компания "СМ-Консалт" получила отзыв о работах в Федеральной Налоговой Службе (ГНИВЦ ФНС)
Специалистами ООО «СМ-Консалт» в 2010-2011г. был выполнен проект
по настройке и внедрению системы управления жизненным циклом разработки
программных систем в части управления изменениями и конфигурациями на
основе Microsoft Visual Studio Team Foundation Server 2010 для
Филиала Федерального государственного унитарного предприятия «Главный
научно-исследовательский вычислительный центр Федеральной налоговой
службы» в Приволжском Федеральном округе (Филиал ФГУП ГНИВЦ ФНС России в
ПФО).
28.11.2011 15:05:11 Новая статья: "Всегда ли «Да» – это «Да»? Или как нас вынуждают принимать решения"
Мы предлагаем вашему вниманию цикл статей, в основу которых положены
психологические практики и приемы, позволяющие влиять на решения,
принимаемые людьми. Эта идея была логическим продолжением ряда
выступлений с докладами о коммуникациях в проектах разработки и
внедрения ПО. Давайте, не откладывая в долгий ящик, начнем с самого
простого приема убеждения, с которым сталкиваемся ежедневно в магазинах,
в транспорте, в разговорах с коллегами… да мало ли где еще!
Авторы: Новичков Александр и Карабанова Галина.
Читать -->
10.10.2011 11:16:06 Компания «СМ-Консалт» открывает новое направление продаж - ПО Adobe Connect
Программное обеспечение Adobe Connect является гибкой системой
web-коммуникации с высоким уровнем информационной безопасности. Adobe
Connect предоставляет такие важнейшие функции корпоративного
взаимодействия, как деловое общение и совместная работа сотрудников на
уровне предприятий, дистанционное обучение, организация широкомасштабных
сетевых семинаров и презентаций. Система Adobe Connect базируется на
технологии Adobe Flash, а также Air, и поэтому позволяет подключать
сотрудников к единому пространству взаимодействия через web-браузер с
любых устройств.
17.09.2011 21:40:22 Новая статья: "Разработка прикладного программного обеспечения с использованием Rational Unified Process на Иркутском Авиационном заводе"

На сайте СМ-Консалт открыт новый раздел Статьи наших заказчиков об успешных внедрениях IBM Rational и Microsoft. Статьи для данного раздела пишутся нашими заказчиками и рассказывают о сути проектов внедрения технологий IBM и Microsoft. Первая статья, представленная вашему вниманию написана сотрудниками Иркутского Авиационного Завода (ИАЗ).
Иркутский авиазавод имеет длительный опыт разработки программного
обеспечения для информационной поддержки ключевых бизнес-процессов
предприятия. Однако, в связи с увеличивающейся сложностью и повышением
требований к разрабатываемому программному обеспечению, возникла
настоятельная необходимость усовершенствовать процесс разработки:
повысить качество разрабатываемых программных продуктов,
стандартизировать процесс с увеличением его эффективности.
С целью повышения качества программного обеспечения собственной
разработки и сокращения сроков разработки руководство Управления
информационных технологий (УИТ) Иркутского Авиационного Завода в 2006г. приняло решение о внедрении технологии разработки ПО на базе методологии Rational Unified Process и с использованием инструментов автоматизации IBM Rational.
13.09.2011 12:07:29 Новый тренинг «Коммуникации и психология межличностных отношений в ИТ-проектах»

Компания «СМ-Консалт» представляет новый тренинг, организуемый совместно с компанией «КарьерKаб» - «Коммуникации
и психология межличностных отношений в ИТ-проектах.
Тренинг позволит понять, насколько коммуникации в проектах важнее инструментов, что люди и их взаимоотношения зачастую оказываются решающим фактором, определяющим успех проекта. Если более пятидесяти процентов рабочего времени вы тратите на взаимодействие с заказчиком, если вам небезразлична судьба вашей команды и вы хотите, чтобы ваша команда работала как часы, реализуя проекты точно, вовремя и без перерасхода ресурсов - наш тренинг поможет в этом.
01.08.2011 17:44:25 Наша компания получила отзыв о сотрудничестве с ОАО «Нордеа Банк»

В 2010-2011 гг. наши специалисты провели в Нордеа Банке проект по предварительному обследованию, развертыванию инструментальных средств и ряд тренингов по обучению методологии и работе с продуктами IBM Rational: «Методология разработки программных систем IBM Rational Unified Process», «Управление требованиями с использованием IBM Rational RequisitePro», «Управление изменениями в IBM Rational ClearQuest».
24.06.2011 01:27:57 Бесплатный семинар-вебинар «Повышение эффективности IT подразделений и качества разрабатываемого ПО с использованием современных методологий и технологий»
Компании СМ-Консалт , Legal SoftWaveTM и DNA приглашают Вас посетить бесплатный семинар-вебинар, посвященный обзору технологий и методологий, которые позволяют повысить эффективность ИТ подразделений. На семинаре рассматриваются технологии IBM Rational, Microsoft TFS, а также системы аналитической обработки информации (Business Intelligence) (IBM SPSS, Deductor, QlikView и другие).
Планируемая продолжительность семинара - 8 академических часов.
Место проведения: Санкт-Петербург (очно) и Интернет (для всех желающих: приходите сами и приглашайте друзей!).
Дата и время: 14 июля 2011 в 9 00.
ВНИМАНИЕ: если вы не сможете очно приехать на семинар - это не страшно, так как семинар будет транслироваться через интернет в формате вебинара и к нему, после регистрации, смогут присоединиться все желающие. Трансляция будет осуществляться посредством технологии Adobe Connect Pro , это позволит Вам присоединяться к конференции без установки дополнительного ПО - только интернет браузер.
Смотреть программу -->
07.06.2011 13:02:44 Компания "СМ-Консалт" провела серию успешных семинаров для ГНИВЦ ФНС России

Проведенные семинары были посвящены средствам разработки и тестирования программного обеспечения компании Майкрософт для сотрудников ГНИВЦ ФНС России. Слушатели семинаров отметили высокую квалификацию тренеров компании "СМ-Консалт" по организации учебного процесса и повышению квалификации специалистов, прошедших обучение.
Индивидуальный подход при решении любых вопросов, возникающих в процессе обучения, оперативность принятия решений, гарантированное выполнение взятых на себя обязательств и профессионализм позволили провести обучение на самом высоком уровне.
07.12.2010 12:28:15 Мы идем в Твиттер!

Наша компания открыла аккаунт в системе микроблоггинга Twiter.Теперь все официальные и неофициальные новости будут появляться в нашей ленте в Twitter.
Там же возможно будет задать прямые вопросы специалистам СМ-Консалт, по всем вопросам, связанным как с деятельностью компании, так и с техническими аспектов продуктов IBM и собственных решений СМ-Консалт.
Следуйте за нами!
https://twitter.com/cmconscom
11.11.2010 14:14:14 Осенний марафон Microsoft ALM Road Show
Компания СМ-Консалт совместно с образовательным центром Careerlab провели серию семинаров в рамках мероприятий ALM Roadshow 2.0 в крупнейших городах, расположенных на Волге, – крупных научных центрах, в которых ИТ технологии находятся на высоком уровне. Семинары прошли в Самаре, Нижнем Новгороде и Казани. Cеминары были посвящены использованию новых инструментов MS Visual Studio Team System в проектах разработки ПО.
В семинарах принимали участие представители различных ролей процесса разработки ПО: от разработчиков до руководителей предприятий различного уровня. Темы, обсуждаемые в ходе семинара, вызвали большой интерес аудитории и немалое количество вопросов, на которые были предоставлены исчерпывающие ответы. В процессе семинара также было показано большое количество примеров, которые дают представление о возможностях инструментов MS Team System. Средняя оценка за семинар составила 4,6 балла по пятибальной шкале
08.09.2010 18:37:52 Скидки до 30% на программное обеспечение IBM Rational

Компания СМ-Консалт предлагает для всех желающих на льготных условиях приобрести программное обеспечение IBM Rational. Снижение цен связано с тем, что мы стараемся быть как можно ближе к нашим клиентам, многие из которых постепенно начали преодолевать последствия финансового кризиса.Наше предложение поможет с минимальными издержками приобрести ПО IBM Rational, что является хорошим капиталовложением.
Скидки до 1 декабря 2010 года:
- 20% скидки при покупке IBM Rational ClearCase, ClearQuest, CearCase LT, при приобретении пяти и более лицензий*;
- 30% скидки при покупке пяти любых продуктов IBM Rational + решение или тренинг СМ-Консалт*.
Для получения деталей обязательно свяжитесь с нашими менеджерами
|