Научная статья на тему 'ПОСТРОЕНИЕ ВЫСОКОНАГРУЖЕННОЙ ИНФОРМАЦИОННОЙ СИСТЕМЫ C ОБЛАЧНЫМ ХРАНИЛИЩЕМ ДАННЫХ'

ПОСТРОЕНИЕ ВЫСОКОНАГРУЖЕННОЙ ИНФОРМАЦИОННОЙ СИСТЕМЫ C ОБЛАЧНЫМ ХРАНИЛИЩЕМ ДАННЫХ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
90
12
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Гуляев Артем Вячеславович, Турканов Г.И., Сакилов С.Б., Балашов А.Г.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «ПОСТРОЕНИЕ ВЫСОКОНАГРУЖЕННОЙ ИНФОРМАЦИОННОЙ СИСТЕМЫ C ОБЛАЧНЫМ ХРАНИЛИЩЕМ ДАННЫХ»

УДК 004.7

Построение высоконагруженной информационной системы c облачным хранилищем данных

А.В. Гуляев1, Г.И. Турканов1, С.Б. Сакилов1, А.Г. Балашов2

ООО «Кластек» (г. Москва)

2Национальный исследовательский университет «МИЭТ»

При построении архитектуры высоконагруженной системы следует учитывать требования к ее масштабируемости, а также необходимость распределения нагрузки на несколько серверов для повышения скорости работы и надежности системы. Кроме того, надо обеспечить стабильную работу системы при отказе одного из серверов. Для решения всех этих задач можно воспользоваться принципом «главный сервер - управляемый сервер», который заключается в дублировании аппаратного обеспечения. При выходе из строя одного из управляемых серверов его нагрузка равномерно распределяется по оставшимся управляемым серверам. Главный сервер также имеет своего дублера, который никак не влияет на производительность, но повышает стабильность системы.

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

Масштабируемые системы, как правило, являются многоуровневыми, среди которых можно выделить три основных уровня. Первый уровень - интерфейсы самообслуживания пользователей и администрирования. Этот уровень не должен иметь прямых связей с хранилищем данных (по требованиям безопасности), не должен быть нагружен основной бизнес-логикой (по требованиям масштабируемости) и не должен хранить состояние приложения (по требованиям надежности). На втором уровне располагается сервер приложений. Здесь сосредоточена большая часть бизнес-логики. Вне уровня остаются фрагменты, экспортируемые на терминалы, а также погруженные в третий уровень процедуры обработки данных. Данный уровень строится как программный интерфейс, связывающий клиентские компоненты с прикладной логикой базы данных. На третий уровень выносится сервер данных, обеспечивающий их хранение. Это стандартная реляционная или объектно-ориентированная СУБД.

В перспективе архитектуру облачной системы можно расширить, добавив дополнительные уровни*. Базовая архитектура облачной системы приведена на рис.1, архитектура разработанной высоконагруженной системы - на рис. 2.

*David Zembecki. Облачные вычисления: Построение архитектуры частного облака от Microsoft // TechNet Magazine. - 2011. - № 63. - С. 37-43.

© А.В. Гуляев, Г.И. Турканов, С.Б. Сакилов, А.Г. Балашов, 2013

Общие интерфейсы самообслужи вания

пользователей и администрирования

БааБ и РааЭ Использование -рабочей нагрузки Сервисы Гаав

Дополнительные уровни, необходимые для управления структурой IaaS

Интерфейсы самообслуживания участников и администрирования

Виртуализация _ образует фундамент

Рабочие нагрузки SaaS

Рабочие нагрузки PaaS

Уровень оркестрации

Уровень управления

Уровень автоматизации

Уровень виртуализации

Уровень оборудования

Подсистема хранения Сеть Вычислительные ресурсы Оборудование

Рис.1. Базовая архитектура облачной системы

Краткие сообщения

Администратор Пользователи

Рис.2. Архитектура разработанной высоконагруженной системы

Принципы построения высоконагруженной системы следующие.

При решении проблем распределения нагрузки важен принцип распараллеливания базы данных (БД), заключающийся в том, что из двух групп главных и управляемых серверов одновременно рабочим для программиста является только один главный и один случайно выбранный управляемый сервер. Оставшиеся главные серверы синхронизируются с первым и требуются для замены в случае его сбоя. Остальные управляемые серверы обеспечивают снижение нагрузки на главный сервер, пользователи равномерно распределяются по ним. Информация с главного сервера реплицируется на управляемый с задержкой. Для снижения нагрузки чтение должно осуществляться с управляемого сервера, а запись - на главный сервер. В случае если требуется прочитать только что записанную информацию, например при изменении данных в личном кабинете, операция чтения должна быть произведена с главного сервера. По истечении некоторого времени необходимо опять перейти в режим чтения с управляемого сервера.

Работа выполнена при финансовой поддержке Министерства образования и науки Российской Федерации (ГК № 14.514.11.4020)

Поступило 3 октября 2013 г.

Гуляев Артем Вячеславович - научный сотрудник ООО «Кластек» (г. Москва). Область научных интересов: высоконагруженные информационные системы, сетевые технологии. E-mail: artgulyaev@gmail.com

Турканов Глеб Игоревич - научный сотрудник ООО «Кластек» (г. Москва). Область научных интересов: информационные технологии, параллельные вычисления, численные методы. Сакилов Санал Борисович - научный сотрудник ООО «Кластек» (г. Москва). Область научных интересов: высоконагруженные информационные системы, сетевые технологии. Балашов Александр Геннадьевич - кандидат технических наук, доцент кафедры интегральной электроники и микросистем, декан факультета прикладных информационных технологий МИЭТ. Область научных интересов: методы приборно-технологического моделирования, наноразмерные интегральные схемы, информационные технологии, системное обеспечение качества.

i Надоели баннеры? Вы всегда можете отключить рекламу.