Как создавать высокодоступные и масштабируемые сервисы Blackboard

Просмотр категорий

Как создавать высокодоступные и масштабируемые сервисы Blackboard

6 min read

Что такое Blackboard? #

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

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

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

Доска высокого доступного окружения #

Среда Blackboard содержит два вида серверов:

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

Целевая масштабируемая и высокодоступная среда развертывания Blackboard показана на рисунке ниже.

Для этого рекомендуем установить один HTTP ферма для серверов приложений в активно-активном режиме, где пул серверов добавляется по требованию.

С другой стороны, мы рекомендуем L4xNAT ферма для серверов совместной работы, использующих все порты и все протоколы, поскольку они могут использовать трафик TCP и UDP для интерактивных служб и служб совместной работы. Согласно Blackboard, эти службы можно настроить только в активно-пассивном режиме, поэтому мы учтем это при настройке виртуальной службы.

В нашем примере служба приложений Blackboard публикуется на IP 10.0.1.2 который разрешает для домена blackboard.domain.org в DNS и используя порты TCP 443 и 80 (перенаправление на порт 443).

Совместные услуги доступны через IP 10.0.1.3 который разрешается с доменом collab.blackboard.domain.org со всех портов и протоколов.

Все приложения и серверы совместной работы находятся в одном сегменте сети. 10.0.7.0/24.

Настройка балансировки нагрузки на доске #

Требования #

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

Конфигурация доски для высокой доступности #

Конфигурация приложения и серверов Blackboard для обеспечения высокой доступности подробно описана в следующей статье:

https://help.blackboard.com/es-es/Learn/Administrator/Hosting/Performance_Optimization/Load_Balancing

Пожалуйста, следуйте инструкциям DNS и других конфигураций, необходимых для обеспечения готовности развертывания Blackboard для HA.

Настройка виртуальной сети Blackboard #

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

Виртуальные интерфейсы создаются в существующем физическом сетевом интерфейсе, поэтому необходимо иметь интерфейс NIC, соединения или VLAN в той же сети, что и IP-адрес виртуального интерфейса. В этом случае создается один интерфейс NIC, нажав на левое меню. Сеть> NIC и редактирование одного из сетевых карт списка.

В этом примере службы будут опубликованы в двух интерфейсах, один из которых называется eth1: Доска используя IP 10.0.1.2 а другой называется eth1: сотрудни и используя IP 10.0.1.3.

Чтобы создать виртуальный интерфейс, нажмите на левой панели меню Сеть> Виртуальные интерфейсы> Создать и заполните форму, как показано ниже.

Таким же образом создайте виртуальный интерфейс для совместной виртуальной службы.

Мониторинг состояния доски #

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

Нажав на левую строку меню Мониторинг> Хранители фермы, нажмите на Создать Farmguardian и выберите вариант Копировать с «check_http», как показано ниже.

Новые параметры проверки работоспособности серверов приложений Blackboard:

Имя: check_blackboard
Интервал: 61 seg
Command: check_http -I HOST -p PORT -e 200 -t 20 -u «http://blackboard.domain.org/webapps/portal/healthCheck»

Эта проверка Farmguardian корректируется для бэкэндов 4 или менее, если в пуле серверов приложений больше, чем бэкэндов 4, задайте параметр интервала в соответствии с уравнением Интервал = * 20 + 1.

Теперь, когда мы настроили необходимую настройку, давайте перейдем к настройке виртуальных служб для каждой службы, необходимой в Blackboard HA.

Настройка виртуальной службы серверов приложений Blackboard #

Будут настроены две разные виртуальные службы HTTP: одна для безопасного HTTPS, а другая с перенаправлением с HTTP на HTTPS. Посмотрим, как этого добиться.

Виртуальный сервис HTTPS сервера приложений #

Создайте новую ферму профилей LSLB HTTP, нажав на левую строку меню. LSLB> Фермы а затем кнопка Создать Ферму.

Следующие параметры будут изменены для получения максимальной производительности:

слушатель:
HTTPS
Включенные сертификаты, Здесь рекомендуется выбрать подписанный сертификат, ранее загруженный из левой строки меню. LSLB> SSL-сертификаты, нажмите на Загрузить Сертификат .

Для приложения Blackboard требуется только один сервис в виртуальном сервисе HTTPS. Создайте его, нажав на Услуги вкладка, а затем Новый Сервис кнопка. Параметры для настройки в сервисах:

HTTPS Backends: включен
Вставка печенья: включен
Название куки: ZENSESSIONID
Cookie TTL: 10860, (3h, 1min)
Путь Печенья: /
Farmguardian: check_blackboard (ранее созданный)

После изменения необходимо нажать Отправить .

Наконец, добавьте серверы приложений в бэкэнд-раздел, нажав на Добавить Backends, Для каждого бэкэнда необходимо настроить IP-адрес и порт, Когда все бэкэнды добавлены, нажмите на ферму. Restart .

Служба перенаправления сервера приложений HTTP на HTTPS #

Цель этой фермы HTTP - перенаправить HTTP-запросы в ферму HTTP, ранее созданную с именем Доска-приложение чтобы заставить всех клиентов проходить через зашифрованный сервис. В нашем примере, пожалуйста, создайте новую ферму LSLB под названием Доска переадресация-SSL и установите следующие параметры для этой фермы:

Имя: Доска переадресация-SSL
Профиль: HTTP
Виртуальный IP: 10.0.1.2 (это то же самое, что сервис в порту 443)
Виртуальный порт: 80

Как только ферма будет создана, нажмите на вкладку Услуги и кнопка Новый Сервис, Выберите сервис имя, переориентировать в этом примере и измените его с помощью следующих параметров:

переадресовывать: включено
URL перенаправления: https://blackboard.domain.org (это имя сервера имен служб, используемое в DNS)
Тип перенаправления: По умолчанию
Код перенаправления: 301

Наконец, нажмите на Отправить и перезапустите ферму, чтобы применить изменения.

Настройка виртуальной службы Blackboard Collaborative Servers #

Как объяснялось в начале статьи, совместные серверы не могут быть сбалансированы по нагрузке в соответствии с Blackboard, но их можно настроить в условиях высокой доступности.

Первым шагом является настройка виртуальной службы путем создания новой фермы L4xNAT через раздел LSLB> Фермы> Создать ферму. Рекомендуется настроить эту виртуальную службу со всеми портами, установленными *и через BCE протоколы, которые Blackboard рекомендует включить TCP за услуги и некоторые UDP порты с целью повышения производительности интерактивного трафика.

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

Наконец, рекомендуется настроить проверку работоспособности для этой службы. Поскольку конкретный порт не используется в виртуальной службе и серверных модулях, мы будем использовать простой check_ping чтобы узнать, доступен ли сервер совместной работы и правильно ли реагирует на пакет ICMP.

Обзор виртуальных сервисов Blackboard #

Здесь вы найдете сводку виртуальной службы, которую мы создали для повышения доступности Blackboard.

Кластер балансировки нагрузки на доске #

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

Для получения дополнительной информации о кластере, пожалуйста, обратитесь к https://www.relianoid.com/knowledge-base/howtos/configure-zevenet-cluster/

Виртуальные услуги Blackboard Повышенная безопасность #

RELIANOID Load Balancer включает в себя систему предотвращения и обнаружения вторжений, которая включает в себя черные списки, защиту от DDoS, списки черных дыр DNS в реальном времени и брандмауэр веб-приложений. Мы рекомендуем воспользоваться этими системами безопасности для реализации Blackboard HA.

📄 Загрузите этот документ в формате PDF #

    EMAIL: *

    Powered by BetterDocs