Глобальная балансировка нагрузки серверов (1187397), страница 7
Текст из файла (страница 7)
Ниже будет представленадиаграмма классов для данной реализации.На каждого пользователя приходится по одному объекту типа ClientObject. В нем содержится базовое описание данного клиента и информация отекущем статусе клиента, занимаемых ресурсах, трафике, принадлежности ксерверу на данном дата-центре, история использования и настройки длявыбранного клиента. К истории клиента могут относится дата последнегоиспользования и текущее время активности сеанса. В качестве настроеквыступают установленное время жизни данного объекта, т.е.
как долго данные50пользователя будут хранится со времени последнего использования, ипараметры использования ресурсов.На каждый сервер приходится по одному объекту типа Server Object.Данный класс содержит в качестве полей текущие характеристики сервиса,информацию о настройках (лимиты использования, кол-во сессий и др.),текущую задержку в использовании, текущее кол-во сессий, как активных, таки пассивных, и статус сервера.51В качестве основного класса выступает класс GSLB контроллера.Параметрами в нем выступают объект клиентской базы данных, работающих сданным дата-центром, объект серверной базы данных для данного дата-центра,база данных альтернативных GSLB контроллеров и настройки использования.Данный класс отвечает за сбор информации, по результатам которогопринимается решение о подключении пользователя к текущему дата-центру и ккакому серверу на этой ферме, либо о перенаправлении пользователя надругую.Классы баз данных отвечают за мониторинг текущего состояниясоответствующих объектов, обновлением самих баз данных, и сбореинформации для GSLB контроллера с целью дальнейшей балансировки.
Классуправления альтернативными GSLB контроллерами отвечает за добавление иудаление дополнительных GSLB контроллеров в облако, сбор метрик с этихGSLB контроллеров и проверку их статуса и поиск альтернативного центрапредоставления услуг. Полученная информация используется в случаеневозможности предоставления услуг пользователю на этой фКласс управления серверными объектами отвечает за базу данныхсерверов и выполняет сбор информации о их текущем состоянии в пределахфермы, а также добавление, удаление и настройку этих серверов. Полученнаяинформация предоставляется GSLB контроллеру для дальнейшей обработки.Класс управления клиентами содержит в себе базу данных о текущихклиентах и отвечает за добавление, удаление и обновление клиентскихобъектов.Каждый из экземпляров классов управления серверами и GSLBконтроллерами производит сбор метрик самостоятельно с выбранныминтервалом.
В случае, если неудачи операции сбора на каком-либо объекте,либо, если достигнут предел использования по тому или иному ресурсу этогообъекта,данныйобъектсчитаетсянедоступнымдляпоследующего52использования до момента устранения неисправности или до моментаснижения загрузки.происходитОбновление информации о клиентских объектахпосредствомуведомленияприподключении/отключениипользователя, а также в процессе использования с целью проверки валидностиклиентского объекта: недоступен или перегружен.536. РезультатыВ результате данной работы был произведен анализ существующихпроблем и рассмотрено множество как частных решений, так и общедоступнойинформации по глобальной балансировки нагрузки серверов, включая патенты.По результатам анализа было предложен обобщенный алгоритм, описанпринцип его работы и смоделировано множество случаев его поведения приразличных условиях.
При аналогичных условиях была также смоделированоповедения базовых алгоритмов балансировки и произведено сравнение спредложенным алгоритмом, по результатам которого удалось добиться болееумного распределения нагрузки на сервера в зависимости от различныхусловий и приоритетов балансировки. На базе теоретического описанияпредложенного алгоритма был создан модуль балансировки и представлена егобазовая архитектура, по которой создавалась реализация.547.
ПерспективыК дальнейшим планам развития полученного алгоритма относитсяпостроение его строгого математического обоснования эффективности, а такжевключения в эту модель принципов балансировки на уровне отдельныхкомпонентов, таких как балансировка ресурсов сервера в пределах одногокластера/сервера и поиск оптимального пути соединения пользователя сконечным сервисом в сети Интернет, а также совершенствование моделиповедения алгоритма при рассмотрение относительного недостатка ресурсомпри доступе к конечному сервису или службе.
Практическая реализацияполученного алгоритма, в дальнейшем, может развиваться как самостоятельноерешение.55Источники1. Global Server Load Balancing, US 8024441 B2, 20.09.2011, Sunanda LakshmiKommula,Ivy Pei-Shan Hsu,Rajkumar Jalan,David Chun Ying Cheung2. DNS Load Balancing, www.radware.com/resources/dns_load_balancing.aspx3. DNS Load Balancing – Comparison of 4 services, June 6, 2014, DmitriyAkulov, www.maxcdn.com/blog/dns-load-balancing-comparison-4-services/4. Manage GSLB via the API,https://wiki.appnexus.com/display/documentation/Managing+Global+Server+Load+Balancing5.
Global Server Load Balancing Scalability, High Availability and Performancefor Distributed Networkshttp://www.arraynetworks.co.jp/ufiles/resources/WP-APV-Global-Server-Load-Balancing-Apr-2011-Rev-A.pdf6. Citrix NetScaler… The basics continued, part five. Global Server LoadBalancing! October 20, 2015, Bas van Kaam,http://www.basvankaam.com/2015/10/20/citrix-netscaler-the-basics-continuedpart-five-global-server-load-balancing/7. Global Server Load Balancing (GSLB) Concepts,http://alpha64.subrigo.net/a10/A10%20GSLB%20Concepts%20and%20Policy_092214.pdf8.
Global Server Load Balancing & Domain Name System (DNS) Management,https://www.veber.co.uk/global-server-load-balancing-domain-name-system-dns-management/9. Incapsula, DNS Load Balancing and Failover,https://www.incapsula.com/load-balancing/dns-load-balancing-failover.html10.DNS Load Balancing and Using Multiple Load Balancers in the Cloud,October 23, 2012, Patrick McClory,56http://www.rightscale.com/blog/enterprise-cloud-strategies/dns-load-balancing-and-using-multiple-load-balancers-cloud11.Eukhost, Global Server Load Balancing, January 5, 2011http://www.eukhost.com/kb/global-server-load-balancing/12.Cisco GSS CLI-Based Global Server Load-Balancing Configuration Guide,http://www.cisco.com/c/en/us/td/docs/app_ntwk_services/data_center_app_services/gss4400series/v1-3/configuration/cli/gslb/guide/cli_gslb/Intro.html13.Global Server Load Balancing (GSLB),http://www.carlstalhood.com/global-server-load-balancing/14.Global Server Load Balancing (GSLB) for Enterprise, August 12, 2015, ChrisYoohttp://www.netmanias.com/en/post/blog/7637/dns-gslb-network-protocol/global-server-load-balancing-gslb-for-enterprise-part-1-concept-and-service-logic15.Infoblox Introduces the First Solution Adding Global Server Load Balancing toEnterprise-grade DNS Appliances January 7, 2015,https://www.infoblox.com/company/news-events/press-releases/infoblox-introduces-first-solution-adding-global-server-load-balancing-enterprise-grade-dnsappliances/57.