Глобальная балансировка нагрузки серверов (1187397), страница 5
Текст из файла (страница 5)
Минимальное значениеравно 1, и парсер или другой компонент программного обеспечения вкоммутаторе 18A сайта ограничивает максимальное значение - там необязательно должно быть значение по умолчанию. По умолчанию эта метрикаподключения отключается и может включаться при задании ограничениянагрузки.Средняянагрузкадляданногосайтарассчитываетсясиспользованием пользовательских весов и интервалов. Если расчетная средняянагрузка меньше указанного предела нагрузки, сайт переходит к следующемуэтапу описанного здесь алгоритма GSLB - в противном случае этот сайтисключается/отбрасывается из набора потенциальных кандидатов.В одном варианте осуществления может быть сконфигурированоколичество «интервалов выборки нагрузки», а также «частота выборки».Частота дискретизации определяет продолжительность каждого интервалавыборки в кратном размере от начальной скорости.
Например, если выбраны 6интервалов выборки и частота выборки в 5 секунд, сайт будет отбиратьсреднюю нагрузку по 5, 10, 15, 20, 25 и 30. Влюбой момент времени у сайтабудет средняя нагрузка для предыдущих 5 секунд, 10 секунд, 15 секунд, 20секунд, 25 секунд и 30 секунд. Это «скользящее среднее» в том, что на 35-йсекунде, например, вычисляется среднее значение с 5-й по 35-ю секунды.Скользящее среднее/точность ограничена начальной частотой дискретизации, аэто значит, что, поскольку выборки берутся через каждые 5 секунд, на седьмойсекунде, доступно среднее значение для первой и пятой секунд, а не среднеезначение от 2 до 7 секунд. Частота дискретизации также определяет интервалобновления для сайта (агент 407 сайта) для загрузки средних значений нагрузкив метрический коллектор 406 на GSLB-переключателе 12. Данный сайтспособен поддерживать средние нагрузки для любого числа коллекторов за33один раз.
Каждый коллектор периодически обновляется информацией онагрузке, а интервал обновления также специфичен.Минимальное количество интервалов равно 1, а максимальное значениеравно 8 в данной реализации. По умолчанию используется номер 5, которыйустанавливается при настройке ограничения нагрузки подключения. Понятно,что это просто иллюстративные примеры и могут отличаться в зависимости отконкретной реализации. Для интервала выборки нагрузки минимальноезначение составляет 1 секунду, а максимальное значение - 60 секунд. Значениепо умолчанию - 5 секунд.
Следовательно, максимальный диапазон для расчетасредней нагрузки составляет 60 * 8 секунд = 480 секунд = 8 минут. Такимобразом, можно рассмотреть до среднего 8-минутного среднего для анализанагрузки.Каждому интервалу можно назначить весовые коэффициенты для расчетасредней нагрузки. По умолчанию в одном варианте осуществления каждомуинтервалу присваивается равный вес 1. Средняя нагрузка для сайта может бытьрассчитана по следующей формуле:где N - количество интервалов, AvgLoad of interval i - новые соединения заинтервал i.Вклад любого интервала может быть аннулирован, если его вес равеннулю. Если каждому интервалу задан вес, равный нулю, средняя нагрузка равнанулю.
В одном варианте осуществления метрический агент 407 для конкретной34местности может вычислять эту среднюю нагрузку и предоставлять ее вметрический коллектор 406 на переключателе 12 GSLB. В других вариантахосуществленияметрическийколлектор406и/иликонтроллер401переключателя могут выполнять вычислений средней нагрузки, основанных назначениях, собранных и представленных агентом 407 метрик конкретногосайта.
По умолчанию метрика подключения нагрузки не включена в алгоритмеGSLB. Метрика автоматически включается, когда пользователь задает пределнагрузки на соединение. Конкретные требования к конфигурации для выборкии расчета нагрузки на соединение могут быть сконфигурированы наконтроллере 401 переключателя, независимо от того, используется липереключатель 12 для GSLB или как переключатель для конкретного участка.Все веса для всех интервалов не нужно настраивать, если они нерассматриваются за пределами определенной точки. Сконфигурированные весабудут назначаться на интервалы, начинающиеся с первого, и любому ненастроенному интервалу будет присвоен нулевой вес.Таким образом, несмотря на то, что 6 интервалов сконфигурированы вприведенном выше примере, все остальные сведены к нулю из-за нулевыхвесов.
По умолчанию метрика подключения нагрузки может быть не включенав алгоритм GSLB. После настройки предела нагрузки соединения метрикавключается после метрики географического местоположения в метрическойпоследовательности согласно одному варианту осуществления, например, какпоказано на фиг. 2B. Понятно, что порядок метрик может быть изменен илинастроен.В действии 115, если нет нескольких кандидатов в верхней части спискаIP, которые прошли метрику загрузки соединения (или их нет равного ранга),список IP-адресов отправляется в клиентскую программу 28 на этапе 108.После действия 115, если несколько сайтов имеют равный рейтинг для лучшегосайта, IP-адреса затем могут быть переупорядочены на основе доступной35емкости сеанса (действие 109).
Например, в одном варианте осуществления,если коммутатор 18A имеет 1 000 000 сеансов, а коммутатор 22B имеет 800 000сеансов, тогда предпочтительным является переключатель 18A, если пределдопуска, представляющий разницу в доступных сеансах, выраженный какпроцент от емкости в более крупном коммутаторе, является приоритетным.Например, если предел допуска равен 10%, переключатель 18A должен будетиметь как минимум 100 000 дополнительных сеансов, доступных, чемпереключатель 22B, чтобы быть предпочтительным. Если предпочтительнымявляется IP-адрес (действие 110), IP-адрес будет помещен в верхнюю частьсписка IP-адресов и затем возвращен запрашивающему объекту на этапе 108.
Впротивном случае, если емкость сеанса не разрешает лучший IP-адрес, действие111 затем предпринимает попытку разрешения, основанного на скорости«обратного хода». Скорость ретроспективного анализа - это время, требуемоекоммутатору сайта для реагирования на проверки состояния слоев 4 и 7 спомощью переключателя GSLB. Скорость ретроспективного анализа, такимобразом, является мерой нагрузки на хост-сервер. Опять же, предпочтительныйIP-адресбудетсоответствоватьскоростиповтораобратноговызова,превышающей следующую, на заданный предел допуска.Скоростиретроспективногоотраженияизмеряютсядляхорошоизвестных приложений (уровень 7) и соответствующих им портов TCP (уровень4).
Для других приложений скорость флешбека измеряется для выбранныхпользователем портов TCP. Сначала сравниваются скорости ретроспективноговоспроизведения уровня 7 (уровня приложения), если это применимо. Еслифлэшбэки приложения не обеспечивают лучший IP-адрес, сравниваютсяскорости повторения кадров уровня 4.
Если хост-сервер связан с несколькимиприложениями, переключатель GSLB выбирает самое медленное время откликасреди приложений для сравнения. На этапе 112, если лучший IP-адресразрешен, список IP-адресов отправляется в клиентскую программу 28 на этапе36108. В противном случае на этапе 113 IP-адрес на сайте, который наименеечасто выбирается как «лучший» сайт.
Затем список IP-адресов отправляется вклиентскую программу 28 (действие 108). После получения списка IP-адресовпрограмма-клиент 28 использует лучший выбранный IP-адрес (то есть верхнюючасть списка), чтобы установить TCP-соединение с хост-сервером. Даже в томслучае, если внезапный всплеск трафика приводит к перегрузке хост-сервераили когда хост-серверы или приложения на сайте становятся недоступными,коммутатор сайта может перенаправить запрос TCP-соединения на другойIP-адрес, используя, например, существующую процедуру перенаправленияHTTP.Чтобы предоставить RTT в соответствии с вариантом реализации,описанной выше, при первом доступе клиента к IP-адресу коммутатор сайта(например, коммутатор сайта 22A на фиг.2) контролирует время RTT - разностьвремени между получением TCP SYN и TCP ACK для TCP-соединения - изаписывает его в запись базы данных кэша.
Измеренное таким образом времяRTT соответствует естественному потоку трафика между клиентом иуказанным хост-сервером, а не искусственным RTT, основанным на «ping»клиентской машины по стандартному сетевому протоколу. Периодическикоммутаторы сайта сообщают базу данных RTT переключателю GSLB наряду сусловиями нагрузки таких как количество доступных сеансов. КоммутаторGSLB объединяет сообщения RTT, указанные в таблице приближений,проиндексированной сетевым окружением (сетевое окружение - это часть сети,использующая префикс IP-адреса. Таким образом, коммутатор GSLB можетискать RTT для клиентской машины на любом конкретном хост-сервере наоснове сетевого окружения клиента, указанного на IP-адресе клиента, и,благодаря доступу к хост-серверам, из большого числа сетевых окруженийкоммутаторGSLBможетсоздатьвсеобъемлющуюбазуданныхогеографической близости, которая обеспечивает более разумный выбор сайта.37Для того чтобы сохранить таблицу приближения полезной и актуальной,коммутатор GSLB управляет таблицей близости с политиками управлениякэшем, например, очистка редко используемых записей в пользу недавнополученных RTT.
Данные о близости могут использоваться для всехIP-адресов, обслуживаемых каждым коммутатором сайта.384. Алгоритм балансировкиВ результате работы и анализа существующих решений, технологий ипотребностей рынка было получен алгоритм балансировки, позволяющийрешать ряд проблем, связанных с распределением нагрузки, увеличениемскорости доступа и отказоустойчивостью сервиса или приложения, а также спроизводительностью. Общая принцип, на котором происходит балансировкаможно представить следующим образом:S = ∑ k i (xi − mi )i●S - суммарный показатель приоритета при балансировки. Сервер снаибольшимпоказателемSбудетопределенкакнаиболеепредпочтительный для данного пользователя.●k i - коэффициент, определяющий важность метрики в зависимости отзаданных настроек. Принимает положительное значение, если метрикаучитывается и 0, если нет.
Более подробно о нем будет рассказано нижедля каждой из описанных метрик.● xi - текущая свободная мощность рассматриваемого ресурса.●mi - пороговое значение для рассматриваемой метрики. Представляетсобой константу и устанавливается администратором балансировщика взависимости от характеристик сервера.Для каждой из вышеописанных метрик величины k i и mi выбираются взависимости от рассматриваемой метрики и расставления ее приоритетов.В случае, когда хотя бы одна из разностей по любой из метрик меньше илиравна нулю, суммарный показатель приоритета считается равным 0, т.е.