Главная » Блоги Экспертов И ИТ-Компаний » ЛЕТОГРАФ. Масштабирование фронт-энда
Начинаем публикацию статей о практике внедрения СЭД 2 года назад

ЛЕТОГРАФ. Масштабирование фронт-энда

Для того, чтобы работать с СЭД ЛЕТОГРАФ, пользователю достаточно только веб-браузера. Это означает, что практически вся обработка запросов, поступающих от пользователей, производится на стороне серверной части. Система должна уметь принять запрос от клиента, передать его на обработку серверу, и вернуть ответ. Традиционно часть системы, реализующую “логику”, называют “бэк-энд”, а часть, отвечающую за “представление и предоставление” информации - “фронт-энд”.  Система электронного документооборота, особенно в крупных проектах,  - это сложная высоконагруженная  система. Сделать так, чтобы она работала, не заставляя пользователя ждать ни секунды, - задача трудная, но, как показывает практика, выполнимая. Очень важную роль в организации “работы без ожидания” играет именно на фронт-энд.

При создании сложных систем необходимо максимально разгрузить каждый из элементов физической структуры, чтобы обеспечить максимальную скорость отклика системы на действия пользователей.  Можно выделить несколько групп серверов, обеспечивающих работу СЭД на платформе ЛЕТОГРАФ. Первый – это фронт-энд серверы, которые обеспечивают прием и обработку запросов от пользователей и распределяют эти запросы между серверами приложений, а также решают еще целый ряд сложных и важных задач. Следующий уровень – это серверы приложений, которые обрабатывают (выполняют) запросы пользователей и обеспечивают работу различных асинхронных служб. Третий уровень – это сервера баз данных, которые отвечают непосредственно за хранение данных и запросы к ним. Взаимодействие этих уровней организовано так, чтобы пользователь не замечал, насколько сложна система в целом, чтобы работа пользователей была комфортной и удобной.

В системе ЛЭТОГРАФ фронт-энд – это симбиоз веб-сервера Apache и программного решения HAProxy . Первый решает задачи по кэшированию, а последний отвечает за балансировку нагрузки, идентификацию пользователей и маршрутизацию запросов на соответствующие серверы приложений.  

HAProxy в качестве составной части фронт-энда был выбран не сразу: были протестированы различные варианты решений, однако именно HAProxy оказался наиболее эффективным и смог выполнять комплекс задач, а не закрыть какую-либо одну потребность.

Распределение нагрузки

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

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

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

Кэширование данных

На плечи фронт-энда ложится и другая задача – быстрая выдача пользователю контента, который не требует обращений к серверам приложений и к базе данных. Это стало возможно благодаря тому, что разработчики ЛЕТОГРАФ уделяют много времени развитию процессов кэширования . 

При первом запросе пользователя контент, хранимый в базе данных, кэшируется благодаря фронт-энду, и при возникновении подобных запросов от других пользователей обращаться к базе данных уже не потребуется, выдача произойдет из локального кэша. Если же данные устаревают, они перегружаются сначала в кэш HAProxy, а потом уже раздаются пользователям и кэшируются на стороне браузера. Таким образом, благодаря эффективным настройкам удалось организовать взаимодействие и кэширование данных между фронт-эндом и браузером, в котором работает пользователь.  

Также фронт-энд позволяет существенно «сэкономить» на затратах мощности и времени отклика системы на «статику» (картинки, иконки и других элементах оформления интерфейса СЭД ЛЕТОГРАФ). Все эти элементы являются настраиваемыми: при создании конфигурации решения для определенной организации можно выбрать элементы в соответствии с индивидуальными предпочтениями.

Данные элементы хранятся на серверах баз данных. Для того, чтобы эффективно кэшировать их на стороне веб-браузера, в ЛЕТОГРАФ создан специальный обработчик, отвечающий за выдачу статики. Причем, это касается как системной статики, так и прикладной, которая используется при решении прикладных задач – например, при создании архива для него назначается определенная иконка.

Обеспечение бесперебойной работы

Отказоустойчивость HAProxy в СЭД ЛЕТОГРАФ обеспечивается за счет наличия виртуальных машин. В случае, если один из серверов по тем или иным причинам перестает работать, механизмы, обеспечивающие маршрутизацию, перебрасывают трафик на специально включаемую в этом случае виртуальную машину. В случае перехода на запасной виртуальный сервер кэш, конечно, будет формироваться заново.

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

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

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

Резюме

Выбранная архитектура фронт-энда системы ЛЕТОГРАФ дает большие преимущества организациям, выбравшим наше решение. Прежде всего, это экономия на инвестициях: в системе минимизированы требования к оборудованию, так что существенных затрат на это не потребуется. К тому же у системы есть и важные плюсы для конечных пользователей. Благодаря отказоустойчивости системы сбоев в работе не бывает, а время отклика системы за счет механизмов кэширования на запрос настолько мало, что все данные пользователю выдаются практически мгновенно.


Данный материал является частной записью члена сообщества Club.CNews.
Редакция CNews не несет ответственности за его содержание.
Комментарии
Другие публикации
RU, Москва
+7 (495) 741-48-08
---

О компании

Компания ЛЕТОГРАФ занимается разработкой и внедрением одноименной системы управления документами, автоматизации бизнес-процессов и интеграции приложений. Основные направления деятельности - развитие платформы ЛЕТОГРАФ и реализация масштабных проектов внедрения.

Компания основана в 2003 и за время своего существования прошла путь от небольших проектов на 5-10 рабочих мест, позволяющих осуществлять регистрацию и поиск документов, до масштабных решений, в которых несколько тысяч пользователей в десятках и сотнях территориально-распределенных подразделений выполняют все операции по работе с документами.

О платформе ЛЕТОГРАФ

ЛЕТОГРАФ – готовое централизованное расширяемое решение для автоматизации документооборота и архива территориально-распределенных организаций. С помощью платформы ЛЕТОГРАФ могут быть решены все задачи по управлению документами: от «классического» документооборота и архива до управления корпоративным контентом (ЕСМ).

Масштабируемые отказоустойчивые решения на базе платформы ЛЕТОГРАФ устанавливаются централизованно на кластере серверов и реализуют на практике концепцию управления «большими данными». Пользователи работают с системой в интерфейсе веб-браузера и получают доступ к информации в режиме он-лайн со стационарных или мобильных устройств.

 

Система ЛЕТОГРАФ унифицирует работу со всеми электронными и бумажными документами организации (входящими, исходящими, внутренними, кадровыми, архивными, договорами, счетами, заявками и пр.), а также может быть интегрирована с корпоративными и внешними системами.

Адрес: Россия, 105066, г. Москва, ул. Бауманская, д. 6 

Контактное лицо: Александр Иванов, специалист по маркетингу


Забыл пароль?
Авторизоваться через
Зарегистрируйся сейчас!
Присоединяйся к нашему обществу для того чтобы познакомиться с новыми людьми, создать собственный блог, публиковать анонсы событий и объявления, а также участвовать в обсуждении публикаций CNews. Мы создали единое пространство для общения специалистов рынка информационных технологий и всех, кто интересуется современными технологиями. Регистрация =>