
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
18.04.2013, 10:46
|
|||
|---|---|---|---|
|
|||
Распределенная транзакция по плохим каналам связи. |
|||
|
#18+
Теорию почитал, чувствую что хочу невозможного, но вдруг кто подскажет гениальное решение. Исходная задача: есть сайт (обычный хостинг) требуется отправить файл (своим софтом) и получить подтверждение отправки. Ответ важен, т.к. возвращается код присвоенный сайтом. Протокол обмена HTTP, данные передаются POST-запросом и анализируется ответ. Сейчас все решено классическим способом в два шага: клиент посылает все исходные данные, cервер проверяет их корректность, в ответ что данные корректны. Клиент посылает команду фиксации изменений в ответ получает код присвоенный сайтом. Все замечательно пока сайт не начинает тупить. Случается достаточно часто, т.к. хостинг виртуальный, и есть еще куча других сайтов, не все из которых корректно написаны. В результате иногда получается такая ситуация: первый шаг произошел, клиент посылает команду фиксации, она застревает где-то в очереди провайдера, клиент отпадывает по таймауту (30-40 сек) и считает что отправки не произошло, а чуть позже сервер получает команду фиксации, фиксирует и шлет ответ в никуда. Дальше есть контроль повторов и разгребаем руками эти ситуации. Отягчающие обстоятельства: "затупление" сервера идет достаточно долго (5-10 минут) чтоб клиент дождался и повторил отправку. Клиент запускается не часто, поэтому подтверждение при следующем запуске тоже не вариант. Главное чтобы по окончании работы клиента он оказался в одинаковом состоянии с сервером (т.е. файл не отправлен). PS варианты со сменой хостинга, переездом на VDS и т.д. знаю, но пока не рассматриваю, т.к. их минусы не перекрывают вышеописанную проблему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.04.2013, 12:55
|
|||
|---|---|---|---|
Распределенная транзакция по плохим каналам связи. |
|||
|
#18+
Головолом, Если сайт ваш собственный, то пусть он и запоминает "неподтверждённый" статус файлов, которые он получил но не проквитировал с клиентом. Если сайт чужой, то сделайте прокси-сервис, находящийся в хорошей связности с "родным" сайтом, и пусть он сидит на keep-alive к этому сайту и помнит результаты загрузок, чтобы отдать их клиентам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/search_topic.php?author=bdvX&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
11ms |
get forum list: |
22ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
171ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 600ms |
| total: | 904ms |

| 0 / 0 |
