Введение
Работа в кластерном режиме - работа системы на нескольких серверах, что дает следующие преимущества:
- Ведущий узел кластера обеспечивает автоматическое распределение нагрузки между узлами
- Кластерная архитектура поддерживает горизонтальное масштабирование системы, в зависимости от объема обрабатываемых данных и количества пользователей
Работа в таком режиме позволяет использовать мощности и дисковое пространство нескольких серверов одновременно, позволяя работать пользователям в рамках единой системы, динамически распределяя нагрузку между серверами.
Схема работы
Рис.1 Схема кластера
В момент импорта данных, мультисфера сохраняется в Master и передается на каждый из Slave серверов. На текущий момент копироваться будут только данные мультисфер и их метаданные.
Рис.2 Обмен данными
Когда пользователь запрашивает данные из мультисферы, Master проверяет доступность и загруженность серверов, выбирает подходящий и дальнейшая работа с мультисферой происходит на выбранном сервере.
Ответы на вопросы
Чем инициируется процесс копирования мультисфер и как это происходит?
- Сохранение мультисфер на Master и копирование на Slave серверы инициируется Master
- Процесс копирования мультисфер выполняется по сети (http запросы) частями по мере формирования мультисферы на Master
Как оценить объем дисков и их количество?
- Объем дисков на серверах для хранения мультисфер одинаковый, количество дисков зависит от количества подключенных Slave серверов
Как контролируется процесс копирования мультисфер?
- Для контроля копирования у администратора будет возможность с помощью команды отследить процесс копирования и целостности данных на Slave серверах. В дальнейшем в интерфейс будет добавлен признак о целостности и количестве серверов на которых присутствует мультисфера
Где хранятся прочие данные? Как выбирается сервер, на котором будет работать пользователь?
- Сценарии, пользователи, группы, права доступа и прочая информация сохраняется только на Master, причем сценарии и другие ресурсоемкие операции исполняются на Slave. Запросы от пользователя маршрутизируются через Master на необходимый Slave по таблице сопоставлений, например если пользователь прервал сессию или перезагрузил страницу
- Все запросы от пользователя попадают на Master, который является балансировщиком нагрузки и не выполняет операций по расчетам, затем Master проверяет доступность и загруженность Slave серверов, выбирает подходящий и дальнейшая работа с мультисферой происходит на выбранном Slave сервере
Если Master закончил формировать мультисферу и началось копирование, то он не доступен?
- Мультисфера копируется инкрементально, процесс работы с мультисферой в момент импорта никак не меняется, он будет доступен. Так как копирование производится небольшими инкрементами, простоя и разницы между серверами не будет
Будет ли поддержка NFS хранилищ?
- Использование NFS как хранилища для данных Slave серверов избыточно и нежелательно. Его можно применить для резервного копирования или реализации отказоустойчивости Master сервера