Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Работа кластеризации системы WNAM основана на том, что все сведения об объектах, статистику, настройки и т.п. сервер системы WNAM хранит в БД, а не в оперативной памяти процесса. Таким образом, в случае переключения между серверами системы WNAM никакие данные не потеряются, за исключением текущих неподтвержденных телефонов (в случае, если СМС-сообщение отправлено, но абонент ещё не ввёл код подтверждения ).

Репликация БД MongoDB

Механизм обеспечения отказоустойчивости БД путём репликации её на несколько серверов встроен в БД MongoDB и очень подробно описан в документации на СУБД (официальная документация). Он основан на использовании набора репликации (replica set), функционирующем на основном (primary) и одном (или более) резервных (secondary) серверов, возможно, с использованием арбитра (arbiter). Можно перенастроить уже работающую БД MongoDB для работы в кластере без потери данных.

...

На этом настройка БД MongoDB завершена. Если необходимо перевести в реплицированный режим имеющуюся базу, то появится файл с базой на втором (secondary) сервере (/var/lib/mongodb/). 

Настройка системы WNAM

На обоих серверах (primary и secondary) необходимо установить систему WNAM совершенно одинаково (версия, пакеты, скрипты). Через интерфейс администратора необходимо настроить систему WNAM на основном сервере, ввести лицензионный ключ, позволяющий использовать кластерную конфигурацию. Для версий системы WNAM выпуска до сентября 2023 года в работе кластера используется кэш Hazelcast. В конфигурационном файле /home/wnam/wnam.conf, определяющем параметры запуска приложения, следует указать два сервера системы WNAM:

...

При этом, оба сервера, фактически, будут обращаться к одной БД. Можно проверить, что произойдет, если изменить настройки на одном сервере системы WNAM, и проверить изменения на втором сервере.

Настройка кластерного IP-адреса

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

...

В зависимости от того, работает ли в вашей сети между серверами multicast-трафик, можно выбрать один из двух режимов:

После настройки и появления у одного из серверов кластерного адреса, следует обратиться к веб-интерфейсу системы WNAM через кластерный адрес или DNS-имя. После подключения к веб-интерфейсу следует попытаться отключить сетевой интерфейс первого сервера. Не более чем через 30 секунд система WNAM будет снова доступна по кластерному адресу, а БД будет указывать на резервный сервер. При включении первого сервера произойдет повторное переключения кластерного адреса обратно и репликация БД.

...