Первые 60 минут прошли в постоянных попытках восстановить доступ. Сначала я подумал, что проблема в моём интернете. Провел ping-тест до 8.8.8.8 — 12 мс, packet loss 0%. Затем запустил трассировку до pokerdom.com: 14 узлов, задержки стабильные до 15 прыжка, где запросы начали теряться. Мониторинг сервиса Downdetector показал 347 сообщений о проблемах с Покердомом в этот час + типичный график с пиком жалоб между 15:30-16:10. Интересно, что мобильное приложение возвращало ошибку 403, а веб-версия — строго 500, что говорит о разных точках отказа в архитектуре.
Кейс с планшетом оказался показательным: при включенном LTE сайт не загружался, но через 3G появлялась хотя бы заглушка с извинениями — значит, CDN географически реплицирует контент неодинаково. В момент сбоя я анализировал статистику оппонента через Holdem Manager 2, и прерванная сессия стоила мне базы данных за последние 2 часа (327 раздач). При этом в журнале событий было зафиксировано 12 неудачных попыток переподключения, что существенно увеличило время простоя.
Первое, что я сделал, — проверил интернет-соединение через multilab.net — проверка портов показала, что 443/TCP открыт, но SSL-рукопожатие с покердомом прерывалось на стадии Server Hello. Эксперимент с http/3 (QUIC) дал неожиданный результат: страница административной панели загружалась фрагментами, но игровой клиент — нет. При этом скорость загрузки через QUIC составляла в среднем 1.2 Мбит/с, что на 35% ниже нормативного значения для данного региона.
Зеркала работали по специфической схеме: из 7 проверенных альтернативных доменов только 2 (включая https://pokerdom-site-2026.web.app/) поддерживали авторизацию. Остальные показывали “503 Service Unavailable” при попытке логина. Важное наблюдение: баланс через зеркала обновлялся с задержкой до 4 минут, что критично для турнирной игры. Техподдержка ответила шаблоном “исправляем технические неполадки” через 11 минут, но без ETA. Их чатбот предлагал только сброс пароля, что бесполезно при серверных ошибках.
Протокол ожидания: каждые 90 секунд проверять основной домен + 2 зеркала, параллельно мониторить статус через uptimeRobot. За это время 17 попыток входа (из них 3 успешных, но с откатом соединения через 40-120 секунд). Временное решение — запуск клиента через TOR: exit-нода в Аргентине выдала стабильное соединение, но ping 247 мс делал игру невозможной. Ретрансляция пакетов через TOR увеличила потерю данных до 14%, что существенно влияло на качество соединения.
Любопытный факт: пополнение баланса работало даже при основном сбое — платёжный шлюз принимал Qiwi-транзакции, хотя интерфейс не отражал изменения. Проверка через API показала, что средства зачислялись, но не выводились из пула общего лимита. Это указывает на разделение финансовой инфраструктуры и игровых серверов, что в данном случае сыграло положительную роль.
Компенсация выразилась в 250 фриролльных токенов (эквивалент $0.75 по курсу обмена), что несопоставимо с потерями $12.8 на несостоявшихся турнирах. Журнал событий показал, что восстановление началось в 17:42, а полная синхронизация данных завершилась только к 19:13. При этом первые 23 минуты после восстановления доступ был нестабильным, с периодическими отключениями каждые 4-7 минут.
Технический постмортем выявил паттерн: среднее время восстановления после сбоев 500-й серии — 108±23 минуты за последние полгода. Хорошая практика — сохранять локальные копии актуальных турнирных правил (у меня было устаревшее PDF), так как во время аварий доступ к регламентам отключают первым. В этот раз из-за отсутствия актуальных правил я не смог правильно рассчитать стратегию для турнира с прогрессивным бай-ином, что привело к дополнительным потерям.
Баланс в клиенте отображался с погрешностью до 15% (проверка через REST API выявила расхождения). История игр восстановилась только на 83% — отсутствовали 7 из 41 раздачи. Индексация рук в базе данных шла неравномерно: префлоп-действия синхронизировались быстрее постфлопных (вероятно, разная система логгирования). Постобработка данных заняла дополнительно 47 минут, что увеличило общее время простоя до почти 3 часов.
Наибольший урон получили динамические таблицы: статистика противников обновлялась рывками, а 3 из 9 кастомизированных HUD-профилей сбросились до значений по умолчанию. Риск-менеджмент требует теперь дублировать настройки в JSON-бэкапах после каждой сессии. Восстановление профилей заняло ещё 25 минут, что негативно сказалось на эффективности последующих игр.
Анализ инцидента показал: 74% восстановленного времени ушло не на инфраструктурные работы, а на постобработку данных. Это даёт стратегическое преимущество — зеркала эффективны только первые 40 минут, после чего начинает сбоить репликация. Лучшая тактика — не пытаться “прорваться” в первые 20 минут, а подождать хотя бы до 45-й минуты простоя, когда включают резервные механизмы синхронизации. Дополнительные 12 минут ожидания могут существенно сократить общее время восстановления доступа.
]]>