Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Толстый клиент на плохой сетке - нужен совет бывалых / 25 сообщений из 50, страница 1 из 2
01.02.2019, 16:40
    #39768339
Игорь-PicoMed
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толстый клиент на плохой сетке - нужен совет бывалых
В косвенное продолжение темы коротких коннектов встал вопросик.

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

А суть в чем.
Есть у клиента коннект и две транзакции. Одна читает - readonly и держится она постоянно, и есть пишущая - короткая, создается только для записи. Есть кучка сессионных переменных и временных таблиц (видимых в рамках сессии).
Рвется связь - кратковременно - меньше секунды - чаще всего из-за балансировки нагрузки на каком-то маршрутизаторе.
Клиент отваливается. На сервере остается висяк, который можно убить через mon$attachments, но сначала нужно угадать какой, и он (attacment) не знает что клиент помер...

Можно перепилить клиента чтобы он делал короткие коннекты на чтение, но тогда встает вопрос падения FB (о котором я писал раньше) и теряется прелесть временных таблиц.

Вопрос.
Существуют ли какие-то библиотеки/инструменты/решения чтобы повысить устойчивость соединения - не отрывать клиента при кратковременных сбоях сети.
Естественно не стоит вопрос вернутся в пишущую транзакцию - это не критично, можно сделать вторую попытку, но как сохранить соединение по чтению или воткнутся в старое, так чтобы сохранить сессионные настройки.
Ну или хотя бы не рвать связь при коротких обрывах (меньше пары секунд).
Да, и со стороны сервера - можно ли узнать что клиент отвалился?
в логе будет ошибка
INET/inet_error: send errno = 10054
но это не решает проблему...

Возможно вопрос глупый, а может уже есть какие-то библиотеки или идеи?
Самое забавное, что тонкого клиента под FB я не нашел.
...
Рейтинг: 0 / 0
01.02.2019, 16:43
    #39768341
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толстый клиент на плохой сетке - нужен совет бывалых
Игорь-PicoMed,

что значит не нашёл тонкого клиента под ФБ? Тонкий клиент это архитектурное решение, а не какая-то готовая библиотека
...
Рейтинг: 0 / 0
01.02.2019, 16:45
    #39768343
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толстый клиент на плохой сетке - нужен совет бывалых
01.02.2019 16:40, Игорь-PicoMed пишет:
> Клиент отваливается. На сервере остается висяк

http://www.ibase.ru/keepalive/
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
01.02.2019, 16:50
    #39768348
Игорь-PicoMed
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толстый клиент на плохой сетке - нужен совет бывалых
Симонов Денисчто значит не нашёл тонкого клиента под ФБ? Тонкий клиент это архитектурное решение, а не какая-то готовая библиотека
да, я это понимаю.
...
Рейтинг: 0 / 0
01.02.2019, 16:51
    #39768351
Игорь-PicoMed
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толстый клиент на плохой сетке - нужен совет бывалых
Мимопроходящий01.02.2019 16:40, Игорь-PicoMed пишет:
> Клиент отваливается. На сервере остается висяк

http://www.ibase.ru/keepalive/


все это настроено, но проблему обрыва не решает
...
Рейтинг: 0 / 0
01.02.2019, 16:52
    #39768352
Фэйтл Эра
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толстый клиент на плохой сетке - нужен совет бывалых
Игорь-PicoMedМимопроходящий01.02.2019 16:40, Игорь-PicoMed пишет:
> Клиент отваливается. На сервере остается висяк

http://www.ibase.ru/keepalive/


все это настроено, но проблему обрыва не решает
Если настройки не помогают - какой смысл дальше барахтаться?
...
Рейтинг: 0 / 0
01.02.2019, 18:24
    #39768432
ВМоисеев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толстый клиент на плохой сетке - нужен совет бывалых
>Игорь-PicoMed, сегодня, 16:40 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1308547&msg=21799917][21799917]
>...Самое забавное, что тонкого клиента под FB я не нашел.
<На виртуализацию принципиально не смотрите?
...
Рейтинг: 0 / 0
01.02.2019, 18:26
    #39768438
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толстый клиент на плохой сетке - нужен совет бывалых
01.02.2019 18:24, ВМоисеев пишет:
> <На виртуализацию принципиально не смотрите?

а это каким боком?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
01.02.2019, 18:28
    #39768441
Фэйтл Эра
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толстый клиент на плохой сетке - нужен совет бывалых
Мимопроходящий01.02.2019 18:24, ВМоисеев пишет:
> <На виртуализацию принципиально не смотрите?

а это каким боком?

Толстый-претолстый клиент в терминальной сессии... наверное. :)
...
Рейтинг: 0 / 0
01.02.2019, 19:47
    #39768476
Дегтярев Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толстый клиент на плохой сетке - нужен совет бывалых
авторВопрос.
Существуют ли какие-то библиотеки/инструменты/решения чтобы повысить устойчивость соединения - не отрывать клиента при кратковременных сбоях сети.
попробуй openvpn
товарищ работает удаленно через мобильный интернет
постоянно жаловался на разрывы, пока не перешел на openvpn
...
Рейтинг: 0 / 0
01.02.2019, 19:53
    #39768478
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толстый клиент на плохой сетке - нужен совет бывалых
Игорь-PicoMedЕсть у клиента коннект и две транзакции. Одна читает - readonly и держится она постоянно

Одно это - уже диагноз "в морг". Про "сессионные переменные" можно уже не читать.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
01.02.2019, 20:22
    #39768492
ВМоисеев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толстый клиент на плохой сетке - нужен совет бывалых
>Фэйтл Эра, сегодня, 18:28 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1308547&msg=21800045][21800045]
>Толстый-претолстый клиент в терминальной сессии... наверное. :)
<А почему не попробывать? А если совсем хреново с сетью, к виртуальной машине(ам) может подключиться через TeamViewer
...
Рейтинг: 0 / 0
02.02.2019, 10:43
    #39768621
DmSer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толстый клиент на плохой сетке - нужен совет бывалых
Используйте in-memory датасеты или другие структуры в памяти/на локальном накопителе, которые не зависят от наличия соединения с базой данных.
Периодически контролируйте наличие соединения с базой данных, если оно потерялось, вешайте индикацию ожидания и пробуйте восстановить подключение (но так, чтобы это не выглядело, как зависание программы), либо делайте, чтобы программа какое-то время могла работать автономно.
Старайтесь выполнение автоматических операций выносить в параллельные потоки либо используйте асинхронные компоненты доступа к данным (для исключения подвисаний интерфейса).
Старайтесь минимизировать количество обращений к базе данных.
...
Рейтинг: 0 / 0
02.02.2019, 10:57
    #39768627
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толстый клиент на плохой сетке - нужен совет бывалых
Репликация наше фсё. На проблемные площадки поставить свои серверы и пусть они в фоне ровняют данные.
Хотя без детального анализа непонятно, что проще подготовить базу для репликации или переписать клиента.
На узких и высоколатентных каналах трешка ведет себя ГОРАЗДО лучше, чем предыдущие версии.

Да, самый простой ломовой способ поставить терминальник на площадке с сервером БД.
...
Рейтинг: 0 / 0
02.02.2019, 11:57
    #39768639
MaratIsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толстый клиент на плохой сетке - нужен совет бывалых
Игорь-PicoMed,
3-звенка
...
Рейтинг: 0 / 0
02.02.2019, 13:42
    #39768657
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толстый клиент на плохой сетке - нужен совет бывалых
Если архитектуру менять не хочется, а хочется исключить кратковременные обрывы, то нужно туннелировать трафик.
Ставьте на концах шлюзы, между шлюзами поднимайте несколько разных маршрутов (лучше через разных провайдеров), маршруты настраивайте anycast через tcp, чтобы автоматически дропать дубли, поверх них делайте какой-нибудь VPN L2/L3.
...
Рейтинг: 0 / 0
06.02.2019, 10:29
    #39769976
MikeDD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толстый клиент на плохой сетке - нужен совет бывалых
Игорь-PicoMed, VPN - дешево и сердито. Мы пользуем SoftEherVPN, щас попробовал выдернуть сетевой шнур секунд на 5 - держит соединение без проблем. Да и про безопасность забывать не надо, не дело это когда ФБ в интернет открыт.
...
Рейтинг: 0 / 0
06.02.2019, 12:56
    #39770112
DmSer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толстый клиент на плохой сетке - нужен совет бывалых
щас попробовал выдернуть сетевой шнур секунд на 5 - держит соединение без проблем

Секунд на 10..20 можно и безо всякого VPN выдернуть.
...
Рейтинг: 0 / 0
06.02.2019, 14:52
    #39770182
crazypiggy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толстый клиент на плохой сетке - нужен совет бывалых
...
Рейтинг: 0 / 0
06.02.2019, 14:52
    #39770183
ВМоисеев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толстый клиент на плохой сетке - нужен совет бывалых
>DmSer, сегодня, 12:56 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1308547&msg=21802625][21802625]
>Секунд на 10..20 можно и безо всякого VPN выдернуть.
<Так может быть (попробуем погадать на кофейной гуще) автору топика критически важен функционал, который так не понравился нашему коллеге и видимо ему, не столь важно, на сколько отключился клиент - важно чтобы чтение продолжалось и тогда, когда он отключился. В этом случае имеет смысл разделить процессы чтения и представления результатов. А так как виртуалка продолжает работу по чтению независимо от того подключён ли к ней какой-либо клиент(ы) или нет, то ...
...
Рейтинг: 0 / 0
06.02.2019, 14:53
    #39770184
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толстый клиент на плохой сетке - нужен совет бывалых
06.02.2019 14:52, crazypiggy пишет:
> http://www.ibase.ru/zebedee

а может пора таки уже придать тело стюардессы земле?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
06.02.2019, 15:34
    #39770227
o_v_a
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толстый клиент на плохой сетке - нужен совет бывалых
Ненене... Не трогайте эту мёртвую невесту. Она исправно отрабатывает своё в режиме 24x7 !
...
Рейтинг: 0 / 0
09.02.2019, 01:19
    #39771449
Игорь-PicoMed
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толстый клиент на плохой сетке - нужен совет бывалых
Всем спасибо за дельные советы.

Кратко подводя итоги.
1. По России шнур выдергивали и все работало, в Казахстане соединение падает постоянно, особенно когда сервер в Астане а подключение откуда-нибудь из Усть-Каменогорска. Причину так и не нашли. Есть мрачное предположение что с законом Яровой и в России начнется та же фигня.
2. Терминальное решение хорошо, но каналы нужны оооочень толстые
3. zebedee гоняли лет ...надцать назад. Думал что проект помер уже. Применяли для заказчиков-параноиков которые боялись перехвата по сети. Заметной устойчивости в стародавние времена он не добавлял.
4. тестили аппаратный VPN (не в РК) - действительно хорошо и стабильно, но дорого, за программные решения - спасибо - попробуем
5. за комментарии про трешку - тоже спасибо
6. много серверов и репликация, грустно как-то, особенно когда сервер на 2-3 клиента и серверов под сотню. Этот зоопарк потом замучишься обслуживать. Очень надеялся от этого уйти. Всем "облако" подавай... и центральные сервера, дабы на сисадминах экономить
7. кэширование "все и вся" в локальных таблицах - тоже странное решение (чем-то dbf-ами попахивает или BDE). Зачем тогда сервер? Зачем мощные инструменты базы, если все поисковые задачи будет выполнять клиент в локальных таблицах. Да и делать поиск по паре десятков тысяч строк на дерьмовеньком локальном компе [пример - поиск города в КЛАДР по контексту названия]- то еще удовольствие (и это не считая время на подгрузку кэша).
8. Трехзвенка c FireBird - идея давно в воздухе, но мне ничего приличного не попадалось, всё что крутится - вокруг MS SQL - может посоветуете что-то под FB?
...
Рейтинг: 0 / 0
09.02.2019, 08:35
    #39771473
Дегтярев Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толстый клиент на плохой сетке - нужен совет бывалых
Игорь-PicoMedДа и делать поиск по паре десятков тысяч строк на дерьмовеньком локальном компе [пример - поиск города в КЛАДР по контексту названия]- то еще удовольствие
hmm
...
Рейтинг: 0 / 0
09.02.2019, 12:44
    #39771514
MaratIsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Толстый клиент на плохой сетке - нужен совет бывалых
Игорь-PicoMed,
у тебя рудиментарные представления о трехзвенке :)
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Толстый клиент на плохой сетке - нужен совет бывалых / 25 сообщений из 50, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]