Многопоточное решение для файловой базы через веб (редиректор) #692380


#0 by Chai Nic
"МикроСервер 1С" - бета версия, замечания и предложения приветствуются! --- Программа выполняет ретрансляцию входящих tcp-соединений с указанного главного порта на один из портов, на которых запущен веб-сервер. Запуск экземпляров веб-сервера Apache происходит автоматически при старте программы. Для обеспечения этого программа предварительно создает временные конфигурационные файлы, которые использует при запуске экземпляров веб-сервера. Ретрансляция соединений происходит следующим образом: Поступившее соединение проверяется по таблице активных трансляций. Если трансляция от ip-адреса источника уже существует, то используется экземпляр веб-сервера, связанный с этой трансляцией и соединение ретранслируется на соответствующий порт Apache. Если же поступившее соединение в таблице трансляций не найдено — то оно направляется на экземпляр веб-сервера с наименьшим (или нулевым) количеством активных трансляций, при этом информация об этом сохраняется в таблице трансляций. Трансляции, время жизни которых превысило таймаут сессии (20 минут + 5 минут запас), считаются неактивными и удаляются из таблицы трансляций. Экземпляры веб-сервера перезапускаются автоматически в фоновом режиме таким образом, чтобы минимизировать время недоступности сервиса. Перезапуск веб-серверов позволяет освободить память, занятую данными приложения 1с, и повысить скорость работы прикладных решений. Необходимо особо отметить следующие нюансы С рабочим процессом веб-сервера ассоциируется именно клиентский компьютер, а не клиентский сеанс 1С:Предприятия. Соответственно, если с одного компьютера будет несколько подключений, даже к разным информационным базам — они все будут обслуживаться одним веб-сервером, соответственно, одним потоком серверных вызовов. Однако, это более эффективно, чем работа всех пользователей всей локальной сети в одном серверном процессе. Для сервера терминалов данное решение неприменимо по причине, указанной выше. Все соединения с сервера терминалов будут идти от одного IP-адреса, соответственно, они будут транслироваться на один рабочий процесс веб-сервера. При использовании сервера терминалов может потребоваться распределение клиентов по портам вручную, с использованием другого решения (cmd-скрипт по созданию рабочих серверов для 1с ) . Необходимо отключать использование прокси-сервера в клиентских приложениях, поскольку в этом случае все клиенты будут подключаться к программе от адреса прокси-сервера.. При использовании тонкого клиента это решается ключом запуска /NoProxy, при использовании веб-клиента — через настройки браузера. Данное решение ни в коей мере не затрагивает лицензирование 1с, оно не увеличивает и не уменьшает потребностей в клиентских лицензиях.
#1 by shamannk
Нахрена МикроСервер 1С нужна? (чет не нашел)
#2 by dk
реклама?
#3 by IamAlexy
и смысл этой программы? просто в апаче сразу нужный порт настроить несудьба? или это мультипликатор который 1000 конектов к этому "микросерверу" переадресует на 1 конект к 1С ?
#4 by acsent
чтобы параллельность получить
#5 by Chai Nic
Для работы в файловом режиме через веб-сервер без тормозов, связанных с однопоточностью wsap22.dll. Суть в том, что эта программа сама запускает кучу апачей, разделяя тем самым пользователей по ним.
#6 by shamannk
В этом посте больше инфы чем в сабже.
#7 by Chai Nic
Вся инфа есть в публикации на ИС. Не копипастить же сюда 3 страницы..
#8 by Chai Nic
(+7) МикроСервер - это промежуточный сервер, который принимает запросы от тонких клиентов и веб-клиентов 1с и распределяет их между автоматически созданными процессами веб-сервера. Решение позволяет решить проблему однопоточности файловой компоненты модуля веб-сервера 1с в большинстве случаев.
#9 by shamannk
Нет самого важного какие цели решает. Есть куча как она это делает
#10 by IamAlexy
а сразу так нельзя было написать блин стока всякой куеты.. блин, всю статью в одно предложение уложил. молоток, обязательно потестю на клиентах
#11 by IamAlexy
работу 7ми пользователей в маленькой организации без сервера 1С
#12 by Chai Nic
Про цели написано в преамбуле
#13 by acsent
Цена то не указана
#14 by Fragster
такое можно самому сделать занедорого
#15 by Chai Nic
Да пока бета-версия.. её продавать как-то неприлично. Ну разумеется, только до сих пор никто не сделал.
#16 by Питерский_Никола
На практике, какой прирост или в чем там профит измеряется ?
#17 by Fragster
ну да. для 7-10 человек я бы руками сделал несколько экземпляров и у юзеров поменял строки соединения. а больше - что таким способом, что в терминале на файловой смысла не имеют
#18 by Chai Nic
На практике, попробуй в управляемом приложении создать обработку, в которой на сервере запускается длительная процедура - ну хоть банальный пустой цикл длиной в пару минут. Тогда все остальные пользователи "зависнут". А с разделением на веб-сервисы они все продолжат работать. Блокировки данных при этом сохраняются - проверено.
#19 by mistеr
Если попадут на тот же экземпляр (а если их много, часть попадет точно) - зависнут. Получается, поставленную задачу программа не решает.
#20 by mistеr
Кроме того, если не ошибаюсь, получается неподдерживаемый 1С режим работы: с одной базой работают несколько независимых серверов (не в кластере)
#21 by Chai Nic
Вероятность снижается) Можно поставить экземпляров апачей с запасом..
#22 by Chai Nic
Сервера от 1с тут никаким боком.. это файловая база
#23 by mistеr
Ах, да.
#24 by Chai Nic
Разумеется, цель программы не в том, чтобы конкурировать с клиент-серверной версией.. цель - дать возможность уйти от нехорошего режима файл-серверного доступа к файловой базе..
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С