На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

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

Поиск  Пользователи  Правила  Войти
Форум » Серверные приложения » ГИС Сервер
Страницы: 1 2 След.
RSS
Распределение нагрузки, Распределение нагрузки на ГИС сервера
 
Можно как-то по подробнее описать это процесс и по возможности  с примером (для двух ГИС-серверов в части их настроек)?
В документации ПАРБ.00049-01-32 01 описано что это возможно, а как?
В частности  интересует как ГИС-сервера синхронизируют данные между собой, ведь после запуска службы она вроде работает с данными в памяти (временном каталоге).
http://gisweb.ru/forum/forum8/topic9039/messages/?PAGEN_1=2
Цитата
Александр Савелов написал:
Здравствуйте!
Непосредственно  кэш ГИС Сервер сохраняет во временном каталоге операционной системы.  Файлы кэша являются внутренними файлами ГИС Сервера и ручное управление  со стороны администратора ими не является документированной  возможностью.Для обеспечения многопользовательского доступа к данным,  все изменения должны производиться с помощью подключения к ГИС Серверу. В  этом случае на других клиентах данные будут обновляться автоматически  через заданный промежуток времени (в ГИС Панорама настраивается с  помощью диалога "Параметры"->"Период обновления"). В случае, если  данные изменены каким-либо другим образом, для перечитывания данных  необходимо выполнить переоткрытие карты.
Изменено: alex - 13.06.2018 10:23:14
 
Добрый день.

В документации ПАРБ.00049-01 32 01 есть раздел "3.10 Многоуровневое соединение". Там описана эта технология с примером добавления соответствующих позиций в файл настроек.
На скриншотах ниже (от 01 до 04) визуально продемонстрирована процедура  создания многоуровневого соединения
04.png (221.05 КБ)
03.png (210.59 КБ)
02.png (257.98 КБ)
01.png (412.68 КБ)
С уважением, Демиденко Р.А.
 
Про многоуровневое соединение я знаю и используем его, но данные скриншоты с версии для windows, а версия для CentOS как я понимаю тестируются и скоро появится в  разделе "СКАЧАТЬ".

Если говорить про версию для CentOS (на текущий момент это 7.4.9) то:
1. Многоуровневое соединение действительно снижает нагрузку на сети передачи данных.
2.При отключении (потери связи) сервера на котором лежат "карты" "проксирующий" сервер эти данные открыть не сможет (даже если эти данные открывались им ранее и соответственно "лежат" в кэше сервера) .
3.Возникают вопросы по синхронизации данных при "пробрасывании" через два (иногда три) сервера. Данные иногда не синхронизируются.


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



А в Вашем варианте получается что-то типа прокси хотя в разделе 7 документации описание более подходит для кластера, а не прокси . Причем при отключении основного сервера с данными проксирующие сервера перестанут открывать данные основного сервера (говорю только про версию для CentOS).
docGiss_2.jpg (135.32 КБ)
 
В Вашем варианте наверное больше подходит такая схема, хотя вопросов тоже немало. Например как быть при добавлении пользователей, групп или данных?



Как вариант наверное синхронизировать xml файл внешней программой типа rsync или другой.



А при добавлении данных на основной сервер их нужно прописывать для проксирующих и разграничивать доступ для групп?
схема.jpg (17.1 КБ)
 
Просьба более четко формулировать вопросы, на которые нужен ответ.

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

2) Последовательное подключение серверов снижает нагрузку на исходный сервер. А для распределения нагрузки применяется параллельное подключение
с соответствующими программными или аппаратными средствами распределения подключения клиентов (а не запросов, как в web).

3) Подключаемые клиенты (сервера или пользователи) не различаются сервером. Делегировать права доступа на клиент без нарушения защиты данных не возможно.
Но если сервера работают в доменах, то этот вопрос решается централизованным администрированием на уровне управления составом групп без необходимости передачи настроек в xml.
 
1.Что такое
Цитата
параллельное подключение
, в документации про него ничего не описано?
2.
Цитата
Но если сервера работают в доменах, то этот вопрос решается  централизованным администрированием на уровне управления составом групп  без необходимости передачи настроек в xml.
Это как? А разве сервер не читает конфигурацию из xml?
3. Каково основное назначение "распределения нагрузки" и как оно работает применительно к ГИС-серверу? И если возможно, отобразить схемой из трех-четырех ГИС-серверов.
 
В документе "ГИС Сервер ПАРБ.00049-01 Руководство системного программиста" в главе 7 описаны варианты балансировки нагрузки.
Это общие рекомендации, в каждом конкретном случае необходим индивидуальный подход.

Следует учитывать следующее правило:
каждый ГИС Сервер открывает данные либо в монопольном доступе, либо с другого ГИС Сервера (то есть настроить несколько экземпляров ГИС Сервера на одни и те же данные в хранилище данных, например, на файл-сервере, нельзя).
Исходя из этого, параллельное подключение возможно только к данным, публикуемым на неком корневом ГИС Сервере (то есть по представленной Вами схеме).
Если же данные должны открываться только на чтение, то в этом случае можно сделать несколько дубликатов этих данных для каждого из ГИС Серверов, работающих параллельно (тогда можно без корневого ГИС Сервера).

В остальном, я вижу, что Вы все правильно понимаете.
Но кое что надо пояснить.

Цитата
alex написал:
Это как? А разве сервер не читает конфигурацию из xml?

Да, каждый ГИС Сервер читает конфигурацию из своего xml-файла.
При этом предварительно настроенный xml может быть единожды сдублирован всем экземплярам ГИС Сервера.
Как уже говорилось, при доменной авторизации пользователей, если доступ настроен для группы пользователей домена, не потребуется дополнительных изменений xml при необходимости дать разрешения новому пользователю или изъять их.
Достаточно добавить или убрать пользователя в соответствующую группу на уровне системы безопасности домена.

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

Цитата
alex написал:
Каково основное назначение "распределения нагрузки" и как оно работает применительно к ГИС-серверу? И если возможно, отобразить схемой из трех-четырех ГИС-серверов.
Вполне подходит, представленная Вами схема.
Распараллеливание нагрузки достигается наличием нескольких узлов (ГИС Серверов), каждый из которых имеет свой кэш данных. ГИС Серверы самостоятельно синхронизируют свой кэш со "старшим" ГИС Сервером. И нагрузка в этом случае гораздо ниже, чем если бы клиенты обращались к нему напрямую. Все, как Вам уже написали:
Цитата
Oleg Belenkov написал:
Последовательное подключение серверов снижает нагрузку на исходный сервер. А для распределения нагрузки применяется параллельное подключение с соответствующими программными или аппаратными средствами распределения подключения клиентов (а не запросов, как в web).

Для обеспечения большей надежности "корневой" ГИС Сервер устанавливается в Failover Cluster с дублирующим ГИС Сервером, служба которого стартует только в случае падения первого (это не распараллеливание, одновременно они работать не должны).
 
Предположим на начальном этапе данные на серверах одинаковые.
Как я понимаю после запуска служб все изменения данных записываются в кэш сервера (т.е. в некий каталог который находится в операционной системе) и после остановки служб данные записываются на локальный диск.
1. А если синхронизировать "каталоги кэша" и данные,  подхватит ли второй сервер изменения произведенные на первом?
2. При положительном ответе на первый вопрос. Возможно ли реализовать задание "каталога кэша" в файле xml ?
3. При использовании внешнего хранилища данных (nfs, smb и других) возможна  ли одновременная работа двух серверов с одинаковыми данными?  
4. Могут ли два сервера сервера читать кэш из одного каталога?
 
Нарисовал такую картинку.


Цитата
alex написал:
Как я понимаю после запуска служб все изменения данных записываются в кэш сервера (т.е. в некий каталог который находится в операционной системе) и после остановки служб данные записываются на локальный диск.

Не совсем.
Данные на ГИС Серверах второго уровня будут скэшированы со старшего ГИС Сервера только тогда, когда к этим данным обратятся их клиенты.
Остановки служб кэш не очищают. Т.е. после рестарта службы ГИС Сервера данные в кэше будут синхронизированы со старшим ГИС Сервером (опять же не сразу, а когда подключится пользователь и попытается эти данные открыть).
Да, кэш помещается в "некий каталог который находится в операционной системе".

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

Таким образом, самая актуальная версия данных со всеми изменениями, сделанными всеми пользователями всех сегментов, находится на корневом ГИС Сервере.
ГИС Серверы нижестоящих уровней по мере надобности обновляют свой кэш, синхронизируя его со старшим ГИС Сервером.

Цитата
alex написал:
1. А если синхронизировать "каталоги кэша" и данные,  подхватит ли второй сервер изменения произведенные на первом?
да, технология описана выше

Цитата
alex написал:
2. При положительном ответе на первый вопрос. Возможно ли реализовать задание "каталога кэша" в файле xml ?
В настоящее время такой настройки нет.

Цитата
alex написал:
3. При использовании внешнего хранилища данных (nfs, smb и других) возможна  ли одновременная работа двух серверов с одинаковыми данными?  
С одинаковыми да, с одними и теми же - нет.
Причину я описал в предыдущем сообщении - ГИС Сервер должен отрывать данные с диска только в монопольном доступе.
Даже если эти данные расположены на СХД, разделять к ним доступ нельзя, так как у кого-то не окажется монопольного доступа, а только доступ на чтение.
Их должен открыть ГИС Сервер, а остальные клиенты (в т.ч. ГИС Серверы) получают их уже от этого ГИС Сервера.
В противном случае целостность данных и обеспечение работоспособности ГИС Серверов не гарантируется.

Цитата
alex написал:
4. Могут ли два сервера сервера читать кэш из одного каталога?
Нет - по той же самой причине.
 
Цитата
Денис Вицко написал:
Да, кэш помещается в "некий каталог который находится в операционной системе".
Можно ли назвать путь к этому некому каталогу?
И можно ли удалять кэш из этого каталога путем удаления файлов из него?
Страницы: 1 2 След.
Читают тему (гостей: 1)



© КБ Панорама, 1991-2024

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности