|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
В косвенное продолжение темы коротких коннектов встал вопросик. Есть толстый клиент, на старых добрых дельфях; можно его конечно пинать, рекомендовать жавы, вебы и прочую хрень, но пользователь категоричен - хочу толстую старушку, но через интернет. Может некрофилия, а может что-то в новом мире не так. Не суть вопроса. А суть в чем. Есть у клиента коннект и две транзакции. Одна читает - readonly и держится она постоянно, и есть пишущая - короткая, создается только для записи. Есть кучка сессионных переменных и временных таблиц (видимых в рамках сессии). Рвется связь - кратковременно - меньше секунды - чаще всего из-за балансировки нагрузки на каком-то маршрутизаторе. Клиент отваливается. На сервере остается висяк, который можно убить через mon$attachments, но сначала нужно угадать какой, и он (attacment) не знает что клиент помер... Можно перепилить клиента чтобы он делал короткие коннекты на чтение, но тогда встает вопрос падения FB (о котором я писал раньше) и теряется прелесть временных таблиц. Вопрос. Существуют ли какие-то библиотеки/инструменты/решения чтобы повысить устойчивость соединения - не отрывать клиента при кратковременных сбоях сети. Естественно не стоит вопрос вернутся в пишущую транзакцию - это не критично, можно сделать вторую попытку, но как сохранить соединение по чтению или воткнутся в старое, так чтобы сохранить сессионные настройки. Ну или хотя бы не рвать связь при коротких обрывах (меньше пары секунд). Да, и со стороны сервера - можно ли узнать что клиент отвалился? в логе будет ошибка INET/inet_error: send errno = 10054 но это не решает проблему... Возможно вопрос глупый, а может уже есть какие-то библиотеки или идеи? Самое забавное, что тонкого клиента под FB я не нашел. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2019, 16:40 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
Игорь-PicoMed, что значит не нашёл тонкого клиента под ФБ? Тонкий клиент это архитектурное решение, а не какая-то готовая библиотека ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2019, 16:43 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
01.02.2019 16:40, Игорь-PicoMed пишет: > Клиент отваливается. На сервере остается висяк http://www.ibase.ru/keepalive/ Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2019, 16:45 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
Симонов Денисчто значит не нашёл тонкого клиента под ФБ? Тонкий клиент это архитектурное решение, а не какая-то готовая библиотека да, я это понимаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2019, 16:50 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
Мимопроходящий01.02.2019 16:40, Игорь-PicoMed пишет: > Клиент отваливается. На сервере остается висяк http://www.ibase.ru/keepalive/ все это настроено, но проблему обрыва не решает ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2019, 16:51 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
Игорь-PicoMedМимопроходящий01.02.2019 16:40, Игорь-PicoMed пишет: > Клиент отваливается. На сервере остается висяк http://www.ibase.ru/keepalive/ все это настроено, но проблему обрыва не решает Если настройки не помогают - какой смысл дальше барахтаться? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2019, 16:52 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
>Игорь-PicoMed, сегодня, 16:40 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1308547&msg=21799917][21799917] >...Самое забавное, что тонкого клиента под FB я не нашел. <На виртуализацию принципиально не смотрите? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2019, 18:24 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
01.02.2019 18:24, ВМоисеев пишет: > <На виртуализацию принципиально не смотрите? а это каким боком? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2019, 18:26 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
Мимопроходящий01.02.2019 18:24, ВМоисеев пишет: > <На виртуализацию принципиально не смотрите? а это каким боком? Толстый-претолстый клиент в терминальной сессии... наверное. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2019, 18:28 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
авторВопрос. Существуют ли какие-то библиотеки/инструменты/решения чтобы повысить устойчивость соединения - не отрывать клиента при кратковременных сбоях сети. попробуй openvpn товарищ работает удаленно через мобильный интернет постоянно жаловался на разрывы, пока не перешел на openvpn ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2019, 19:47 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
Игорь-PicoMedЕсть у клиента коннект и две транзакции. Одна читает - readonly и держится она постоянно Одно это - уже диагноз "в морг". Про "сессионные переменные" можно уже не читать. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2019, 19:53 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
>Фэйтл Эра, сегодня, 18:28 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1308547&msg=21800045][21800045] >Толстый-претолстый клиент в терминальной сессии... наверное. :) <А почему не попробывать? А если совсем хреново с сетью, к виртуальной машине(ам) может подключиться через TeamViewer ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2019, 20:22 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
Используйте in-memory датасеты или другие структуры в памяти/на локальном накопителе, которые не зависят от наличия соединения с базой данных. Периодически контролируйте наличие соединения с базой данных, если оно потерялось, вешайте индикацию ожидания и пробуйте восстановить подключение (но так, чтобы это не выглядело, как зависание программы), либо делайте, чтобы программа какое-то время могла работать автономно. Старайтесь выполнение автоматических операций выносить в параллельные потоки либо используйте асинхронные компоненты доступа к данным (для исключения подвисаний интерфейса). Старайтесь минимизировать количество обращений к базе данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2019, 10:43 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
Репликация наше фсё. На проблемные площадки поставить свои серверы и пусть они в фоне ровняют данные. Хотя без детального анализа непонятно, что проще подготовить базу для репликации или переписать клиента. На узких и высоколатентных каналах трешка ведет себя ГОРАЗДО лучше, чем предыдущие версии. Да, самый простой ломовой способ поставить терминальник на площадке с сервером БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2019, 10:57 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
Игорь-PicoMed, 3-звенка ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2019, 11:57 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
Если архитектуру менять не хочется, а хочется исключить кратковременные обрывы, то нужно туннелировать трафик. Ставьте на концах шлюзы, между шлюзами поднимайте несколько разных маршрутов (лучше через разных провайдеров), маршруты настраивайте anycast через tcp, чтобы автоматически дропать дубли, поверх них делайте какой-нибудь VPN L2/L3. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2019, 13:42 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
Игорь-PicoMed, VPN - дешево и сердито. Мы пользуем SoftEherVPN, щас попробовал выдернуть сетевой шнур секунд на 5 - держит соединение без проблем. Да и про безопасность забывать не надо, не дело это когда ФБ в интернет открыт. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2019, 10:29 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
щас попробовал выдернуть сетевой шнур секунд на 5 - держит соединение без проблем Секунд на 10..20 можно и безо всякого VPN выдернуть. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2019, 12:56 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2019, 14:52 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
>DmSer, сегодня, 12:56 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1308547&msg=21802625][21802625] >Секунд на 10..20 можно и безо всякого VPN выдернуть. <Так может быть (попробуем погадать на кофейной гуще) автору топика критически важен функционал, который так не понравился нашему коллеге и видимо ему, не столь важно, на сколько отключился клиент - важно чтобы чтение продолжалось и тогда, когда он отключился. В этом случае имеет смысл разделить процессы чтения и представления результатов. А так как виртуалка продолжает работу по чтению независимо от того подключён ли к ней какой-либо клиент(ы) или нет, то ... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2019, 14:52 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
06.02.2019 14:52, crazypiggy пишет: > http://www.ibase.ru/zebedee а может пора таки уже придать тело стюардессы земле? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2019, 14:53 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
Ненене... Не трогайте эту мёртвую невесту. Она исправно отрабатывает своё в режиме 24x7 ! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2019, 15:34 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
Всем спасибо за дельные советы. Кратко подводя итоги. 1. По России шнур выдергивали и все работало, в Казахстане соединение падает постоянно, особенно когда сервер в Астане а подключение откуда-нибудь из Усть-Каменогорска. Причину так и не нашли. Есть мрачное предположение что с законом Яровой и в России начнется та же фигня. 2. Терминальное решение хорошо, но каналы нужны оооочень толстые 3. zebedee гоняли лет ...надцать назад. Думал что проект помер уже. Применяли для заказчиков-параноиков которые боялись перехвата по сети. Заметной устойчивости в стародавние времена он не добавлял. 4. тестили аппаратный VPN (не в РК) - действительно хорошо и стабильно, но дорого, за программные решения - спасибо - попробуем 5. за комментарии про трешку - тоже спасибо 6. много серверов и репликация, грустно как-то, особенно когда сервер на 2-3 клиента и серверов под сотню. Этот зоопарк потом замучишься обслуживать. Очень надеялся от этого уйти. Всем "облако" подавай... и центральные сервера, дабы на сисадминах экономить 7. кэширование "все и вся" в локальных таблицах - тоже странное решение (чем-то dbf-ами попахивает или BDE). Зачем тогда сервер? Зачем мощные инструменты базы, если все поисковые задачи будет выполнять клиент в локальных таблицах. Да и делать поиск по паре десятков тысяч строк на дерьмовеньком локальном компе [пример - поиск города в КЛАДР по контексту названия]- то еще удовольствие (и это не считая время на подгрузку кэша). 8. Трехзвенка c FireBird - идея давно в воздухе, но мне ничего приличного не попадалось, всё что крутится - вокруг MS SQL - может посоветуете что-то под FB? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2019, 01:19 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
Игорь-PicoMedДа и делать поиск по паре десятков тысяч строк на дерьмовеньком локальном компе [пример - поиск города в КЛАДР по контексту названия]- то еще удовольствие hmm ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2019, 08:35 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
Игорь-PicoMed, у тебя рудиментарные представления о трехзвенке :) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2019, 12:44 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
MaratIskу тебя рудиментарные представления о трехзвенке :) Все мы рано или поздно станем рудиментами ))) Поэтому и спрашиваю что и где можно почитать про современные решения. Повторюсь - все что попадалось для тестов из трехзвенки давало кратные (в разы) провалы по быстродействию как по чтению так и по записи и лишало всей прелести возможностей FB сервера. Можно спорить, где должна жить математика - в сервере базы или сервере приложений, но однозначно могу сказать, когда реакция системы на действие пользователя падает с 0,2 секунды до 2-3 секунд, то такой продукт улетит в помойку... Современные интерфейсные технологии славятся своей "дружелюбностью" и "быстрым откликом" (как вы понимаете - это сарказм), но когда дело доходит до нормальных производственных задач, где гламур не важен, меня убедительно просят сохранить старый дельфийский софт, просто потому что интерфейс быстрее... Вот и вопрос - что лучше - рудименты или ждать ответа глядя на красивое колесико... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2019, 15:48 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
Игорь-PicoMedвсе что попадалось для тестов из трехзвенки давало кратные (в разы) провалы по быстродействию как по чтению так и по записи в смысле? к примеру, у вас клиент-сервер. Вы хотите трехзвенку. ОК. Берете отдельный терминальный сервер, ставите приложения туда. Клиент лезет к терминальному серверу, приложения работают на нем, работают с отдельным сервером БД. Это - трехзвенка. Дальше. Вы хотите свою трехзвенку. Пишете "средние" приложения, которые работают с БД, а с клиентом работают через REST. Тут производительность будет зависеть от того, как написали. Для Дельфи можно использовать и DataSnap. Но к нему претензии при большом количестве коннектов (клиентов, не к БД). Можно использовать трехзвенку в виде веба - PHP и всякое. И т.д. p.s. вот чего не надо делать при трехзвенке - это средний сервер и БД ставить на один комп. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2019, 16:17 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
>Игорь-PicoMed, сегодня, 15:48 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1308547&msg=21805257][21805257] >...или ждать ответа глядя на красивое колесико... <Окончательный выбор всегда остается за Вами. Но уделите несколько минут хотя бы этому (при наличии интернета, и в частности - AnyDesk). Попробуйте удаленно поработать с компом, где установлена ваша задача. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2019, 18:16 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
Игорь-PicoMedПоэтому и спрашиваю что и где можно почитать про современные решения. Повторюсь - все что попадалось для тестов из трехзвенки давало кратные (в разы) провалы по быстродействию как по чтению так и по записи и лишало всей прелести возможностей FB сервера. Я правильно понимаю, что трёхзвенка - это такое волшебное слово, которое где-то тырим покупаем, запускаем его инсталлятор и после этого безо всякой переработки наших приложений жизнь становится лучше, жизнь становится веселей? Игорь-PicoMedно когда дело доходит до нормальных производственных задач, где гламур не важен, меня убедительно просят сохранить старый дельфийский софт, просто потому что интерфейс быстрее... Был один еврей, так он учил, что всё относительно. Это я насчёт слова "старый". Специальные концепции и методы для самостоятельной разработки приложений трёхзвенной архитектуры появились в Delphi 4. Соответствующий набор компонентов назывался MIDAS. Практически без внешних изменений, но с заметными внутренними улучшениями он переехал в Delphi 5. Дальнейшая судьба этой темы в рамках Delphi мне неизвестна, но раствориться как сон, как утренний туман она не могла принципиально. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2019, 21:57 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
Старый плюшевый мишкаДальнейшая судьба этой темы в рамках Delphi мне неизвестна дальше оно переименовалось в DataSnap, а потом появились статьи о том что на уровне 200 и больше пользователей эта технология ведет себя крайне нестабильно. От Эмбаркадеро ответа не последовало, и якобы до сих пор оно всё висит в прежнем состоянии. С другой стороны, Эмбаркадеро нынче активно предлагает REST в качестве коммуникационного протокола для трехзвенки (между тонкими клиентами и middle-tier приложениями). Я в этой теме посторонний, типа внешний наблюдатель, не следящий за подробностями. Так что кому надо, пусть копают глубже. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2019, 23:52 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
kdvОт Эмбаркадеро ответа не последовало, и якобы до сих пор оно всё висит в прежнем состоянии. Не, еще всплеск был, относительно недавно. И даже полные исходники поставлять стали. Насколько поднялось качество - не знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2019, 00:26 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
Фэйтл Эра, я бы сказал, "да и х с ним". Есть два типа коннектов, live и stateless. У Firebird/Interbase коннекты live. Это значит, что при обрыве коннекта контекст не сохраняется, надо делать переконнект и восстанавливать статус. Stateless коннекты - это типа браузера по http, когда делаешь запрос, получаешь ответ, и дальше пофиг. Аналогично всякие модели briefcase, и прочее. Автору топика надо stateless. Но это чревато, т.к. там всё по другому (в отличие от клиент-сервера) делается. Запросы надо целиком выфетчивать, показывать их по частям, и прочее. В общем, автор топика опоздал лет на 20 с изучением трехзвенки. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2019, 01:42 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
2. Терминальное решение хорошо, но каналы нужны оооочень толстые Ваши клиенты работают через GSM-модемы 9600 + VPN ? Обычно при работе через терминальный сервер как раз решается проблема неустойчивой связи. Правда, если используется стандартный RDP-сервер Windows, то желательно настраивать список разрешённых IP-адресов клиентов, иначе сервер очень быстро станет объектом DDoS-атак. 7. кэширование "все и вся" в локальных таблицах - тоже странное решение (чем-то dbf-ами попахивает или BDE). Зачем тогда сервер? Зачем мощные инструменты базы, если все поисковые задачи будет выполнять клиент в локальных таблицах. Да и делать поиск по паре десятков тысяч строк на дерьмовеньком локальном компе [пример - поиск города в КЛАДР по контексту названия]- то еще удовольствие (и это не считая время на подгрузку кэша). Всё не надо. Но это может быть один из этапов оптимизации. Локальный поиск всегда можно сделать быстрым. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2019, 12:53 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
Поэтому и спрашиваю что и где можно почитать про современные решения. Очень много материала по современным решениям есть на habr.com . Причём "современные" не означаю "хорошие". Как правило это что-то лучшее из бесплатных технологий и это задаёт трэнд в программировании, адаптирует образовательный процесс в ВУЗах и позволяет работодателю без проблем находить новых специалистов. На сегодня тренд - это интерфейс пользователя на react-js и бэкенд на node-js / golang / php / aspnet core и т.п. Разработка фронта на Sencha ExtJS и бэкенда на Delphi может даже будет более эффективна, но это совсем не тренд. Современные интерфейсные технологии славятся своей "дружелюбностью" и "быстрым откликом" (как вы понимаете - это сарказм), но когда дело доходит до нормальных производственных задач, где гламур не важен, меня убедительно просят сохранить старый дельфийский софт, просто потому что интерфейс быстрее... Современные интерфейсные технологии разрабатываются на JS и ситуация, когда одна страница в браузере жрёт пол-гига ОЗУ уже мало кого удивляет. А если на компе всего 2 ГБ ОЗУ (таких компов у предприятий ещё дофига), а из них 0.5 ГБ отхапал браузер (а скорее всего больше), то тормоза будут обеспечены. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2019, 13:17 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
[quot DmSer]Поэтому и спрашиваю что и где можно почитать про современные решения. Очень много материала по современным решениям есть на habr.com . Причём "современные" не означаю "хорошие". Как правило это что-то лучшее из бесплатных технологий и это задаёт трэнд в программировании, адаптирует образовательный процесс в ВУЗах и позволяет работодателю без проблем находить новых специалистов. На сегодня тренд - это интерфейс пользователя на react-js и бэкенд на node-js / golang / php / aspnet core и т.п. Разработка фронта на Sencha ExtJS и бэкенда на Delphi может даже будет более эффективна, но это совсем не тренд. без обид, но "тренды" это жертва современного маркетинга. "тренд" это то что сейчас ЛЕГКО продается, желательно без мозгов. А задавали ли вы вопрос ЧТО продается? Если взять меня - обожаю js (и 1С))) во всех ипостасях, когда нужно продать часы - быстро лепим дерьмо из готовых шаблонов, потом выкручиваем из заказчика много "часов" для приведения "этого" в рабочий вид, да еще убеждаем его, что ему нужно поменять весь парк железа, потому что новый фреймворк не поддерживается "современным" браузером. Другой вариант - нужен "Продукт" для широкого круга заказчиков - нужна предсказуемость и стабильность. Нужно законченное решение, которое заказываться/покупается у разработчика. Заказчик не хочет платить за часы, ему нужно решение, которое будет работать на его паре тысяч компьютеров, часть из которых давно пора отправить в помойку. Можно это слепить на js (для простых задач так и делаю, но приходится таскать с собой хромиум, чтобы хоть как-то обеспечить стабильность), но если задача сложная и еще ориентирована на пользователя с точки зрения ГУИ (в ...опу красоту - важна скорость, минимизация ошибок, целостность ввода информации) - вот тут, если сравнивать js и Delphi то скорость разработки (и цена) будет не в пользу js. Увы, сегодняшний маркетинговый тренд - все в "облако", все на иглу "техподдержки", ширяйте мышкой до опупения, и пофигу, что очередь стоит. Меня как пользователя это бесит страшно, но это тренд. Вопрос хорошо ли это? Но это тема другой дискуссии. Вопрос был о современных решениях в области трехзвенки под FB ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 15:49 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
kdvФэйтл Эра, я бы сказал, "да и х с ним". Есть два типа коннектов, live и stateless. У Firebird/Interbase коннекты live. Это значит, что при обрыве коннекта контекст не сохраняется, надо делать переконнект и восстанавливать статус. Stateless коннекты - это типа браузера по http, когда делаешь запрос, получаешь ответ, и дальше пофиг. Аналогично всякие модели briefcase, и прочее. Автору топика надо stateless. Но это чревато, т.к. там всё по другому (в отличие от клиент-сервера) делается. Запросы надо целиком выфетчивать, показывать их по частям, и прочее. В общем, автор топика опоздал лет на 20 с изучением трехзвенки. Вы почти в точку попали. Изучать трехзвенку начал лет двадцать назад, а с терминальными сессиями работал еще лет за десять до этого. Правда никогда не считал терминальное подключение трехзвенкой. Да и тому, кто сможет поднять 200-300 терминальных ГУИ-сессий можно памятник поставить (из реальных подобных задач, только IKEA в голову приходит, да и то, кажется, они уже сдулись и на "толстого" клиента перешли)... И насчет "живых" и "не живых" коннектов тоже - абсолютно в тему. Естественно, понятны плюсы и минусы каждой из моделей. Вопрос был в том, есть ли сейчас какие-то современные модели, которые позволяются обеспечить "условный live коннект" к ФБ при условии нестабильной связи. Почему "условный" - потому что стабильность соединения хотелось бы контролировать на уровне клиента или сервера приложений - по принципу Stateless коннектов, но при этом не фетчить лишнего. kdvДля Дельфи можно использовать и DataSnap. Но к нему претензии при большом количестве коннектов (клиентов, не к БД). Можно использовать трехзвенку в виде веба - PHP и всякое. И т.д. DataSnap - пробовали - к претензиям по стабильности на больших нагрузках полностью присоединяюсь PHP - это тормоз, и рушит ФБ при большой нагрузке (гоняли на модели Classic 2.1-2.5) и т.д. пока не пробовали, а хочется ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 16:12 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
Игорь-PicoMed PHP - это тормоз, и рушит ФБ при большой нагрузке (гоняли на модели Classic 2.1-2.5)Можно поподробнее ? Каким образом рушит ? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 16:14 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
Игорь-PicoMed, Игорь-PicoMedPHP - это тормоз, и рушит ФБ при большой нагрузке (гоняли на модели Classic 2.1-2.5) ФБ он как раз не рушит, разве что через embedded подключаться. А вот баги в драйверах pdo и ibase действительно уносят сервис apache. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 16:22 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
Игорь-PicoMed которые позволяются обеспечить "условный live коннект" к ФБ нет такого в принципе. Если такой коннект есть, то не к ФБ, а к серверу трехзвенки. Соответственно, к ФБ оно не имеет никакого отношения. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 16:56 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
Сисдба МастеркеевичИгорь-PicoMed PHP - это тормоз, и рушит ФБ при большой нагрузке (гоняли на модели Classic 2.1-2.5)Можно поподробнее ? Каким образом рушит ? Пытаюсь добиться повторяемости ошибки. Как будет готов код и условия при которых падает база - напишу. Хочу предварительно исключить косяки настроек операционки (в частности - на виртуально Window 2012 сервере ошибка проявляется в 15 раз чаще, чем на "железке") и иные, не зависящие от ФБ факторы ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 17:04 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
kdvИгорь-PicoMed которые позволяются обеспечить "условный live коннект" к ФБ нет такого в принципе. Если такой коннект есть, то не к ФБ, а к серверу трехзвенки. Соответственно, к ФБ оно не имеет никакого отношения. Очень жаль... Хоть самому туннель писать. Глупая идея - сервер (условно-трехзвенки или Proxi) держит пул коннектов/курсоров, а клиент подключается к нему по необходимости по принципу сессий. Обрыв связи не критичен - переподключение при сохранении сессии - всегда попадаем в нужное соединение/транзакцию. Вроде и неживое и живое, одновременно... Почему никто такого для ФБ не сделал? (для MS SQL о таких решениях слышал, но сам не копал, так как утверждалось, что заточено строго под мелкософт) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 17:17 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
11.02.2019 17:17, Игорь-PicoMed пишет: > Обрыв связи не критичен - переподключение при сохранении сессии - всегда попадаем в нужное соединение/транзакцию. обрыв равносилен завершению сессии и откату активных транзакций оной сессии. как ты собираешься снова "войти" в то, чего уже нет? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 17:23 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
Игорь-PicoMed, пул коннектов это нормальное решение для трёхзвенок, потому что соединение с БД вещь "дорогая". Пул курсоров уже похоже на бред. Такой сервис долго не проживёт, да и вообще бесконечно открытые курсоры не очень хорошее решение. Если вся ваша трёхзвенка затевается только ради устойчивости к обрывам соединений, но при этом полностью пытается копировать толстого клиента, то скорее всего будет разочарование. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 17:38 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
> то скорее всего будет разочарование. + ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 17:46 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
11.02.2019 17:38, Симонов Денис пишет: > Пул курсоров уже похоже на бред. Такой сервис долго не проживёт у Оракла есть нечто похожее. он откладывает "во внутренний карман" препарированные запросы. и если вдруг поступает запрос с текстом, который уже выполнялся, то и вуаля. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 17:48 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
Мимопроходящий, там это вроде всё только ради плана, потому что строится он долго, но уж никак не результатов выполнения запросов. Такой разве что в мускуле делали, да и то потом отказались. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 17:53 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
Игорь-PicoMedВопрос был в том, есть ли сейчас какие-то современные модели, которые позволяются обеспечить "условный live коннект" к ФБ при условии нестабильной связи. Уже сказали: некоторые VPN держат виртуальный коннект живым даже после падения физического. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 18:15 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
>Симонов Денис, сегодня, 17:38 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1308547&msg=21806710][21806710] >...то скорее всего будет разочарование <Денис, но почему? TC хочет использовать свои наработки - хорошо. Рядом с сервером данных ФБ ставим сервер виртуальных машин, например Oracle VirtualBox (имеем ввиду что есть выход в интернет с серыми адресами). На пробу устанавливаем 2 виртуальные машины, а на них разворачиваем системы TC + AnyDesk (к примеру) и запускаем. Любой клиент с AnyDesk, находится ли он в Москве или Париже или Урюпинске может подключиться на удаленное управление к виртуальной машине, поработать с ней и отключиться. На работе системы TC на виртуальной машине с сервером данных это никак не скажется. Создатели AnyDesk как бы гарантируют сносную работу уже со 100 Кбит/сек. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2019, 18:24 |
|
Толстый клиент на плохой сетке - нужен совет бывалых
|
|||
---|---|---|---|
#18+
kdvякобы до сих пор оно всё висит в прежнем состоянии. С другой стороны, Эмбаркадеро нынче активно предлагает REST в качестве коммуникационного протокола Что-то улучшили, что-то нет. А почему "с другoй стороны" ? это всё та же самая стороны. Тот же mORMot, который в тех сайтах порвал Datasnap и обошёл все не-Delphi библиотеки, он как раз основан на REST Но - насколько понимаю он, в отличие от DataSnap, принципиально не изображает из себя TDataSet, а использует что-то вроде ActiveRecord pattern ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2019, 14:42 |
|
|
start [/forum/topic.php?all=1&fid=40&tid=1560807]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
26ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
75ms |
get tp. blocked users: |
1ms |
others: | 10ms |
total: | 157ms |
0 / 0 |