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

РАЗМЕЩЕНО 24 сентября, 2019

Что такое 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

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

Виртуальные интерфейсы создаются в существующем физическом сетевом интерфейсе, поэтому необходимо иметь интерфейс 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-адрес порт, Когда все бэкэнды добавлены, нажмите на ферму. Перезапустить кнопку.

Служба перенаправления сервера приложений 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.zevenet.com/knowledge-base/howtos/configure-zevenet-cluster/

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

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

Поделись:

Документация в соответствии с условиями GNU Free Documentation License.

Была ли эта статья полезна?

Статьи по теме