войти зарегистрироваться

Серверная оптимизацияМногопоточное приложение под Tornado



В документации к неблокирующему вебсерверу Торнадо красиво расписано как здорово он справляется с нагрузкой, и вообще является венцом творения человечества в области неблокирующих серверов. Отчасти это верно. Но при построении сложных приложений за рамками «еще одного чата» выявляется много неочевидных и тонких моментов, о которых желательно знать до вояжа по граблям. Под «катом» разработчики клуба интелектуальных игр Трельяж готовы поделиться своими мыслями о подводных камнях.

Веб-стандартыБубновый туз, и… Касперский

Бубновый туз и КасперскийВ процессе тестирования веб-преферанса неожиданно выяснилась одна странная деталь. Около 5% игроков стабильно жаловались на «нехватку» карт. При этом у тысяч других игроков (включая разработчиков) все работало идеально. В процессе разбора полетов стало понятно, что каждый раз не хватало одной и той же карты. А именно — бубнового туза.
Все тесты сервер проходил идеально. Код бубнового туза отдавался на клиент стабильно с остальными картами. Ларчик, как это обычно бывает, открывался очень просто. Картинка с бубновым тузом в ресурсах называлась ad.gif. И у этих 5% игроков на страже правопорядка стоял… Да-да, вы не ошиблись, Юрий Антонов Kaspersky Internet Security, которому не понравилось название файла картинки.
Мораль для веб-разработчиков проста. При именовании внешних ресурсов (картинок, css, js, swf) обратите внимание на отсутствие «подозрительных» слов и сокращений (advertise, banner, ...). Возможно это сэкономит вам, и вашим пользователям душевное здоровье.

Я пиарюсь Веб-Преферанс. Месяц спустя

Месяц назад, мы уже писали про старт нового проекта клуба интеллектуальных игр «Трельяж». Сервис успешно выдержал хабраэффект, благодаря которому пришла тысяча игроков, и выдвинула множество предложений по улучшению и развитию проекта. Все они были услышаны, и многие из них реализованы.
image

За последний месяц на сервере было сделано: 22 обновления, зарегистрировалось 1043 игрока, сыграно более 500 игр, закрыто более 100 тикетов в багтрекере.

Я пиарюсь Веб-Преферанс на Python

Не первое десятилетие продолжается спор между архитекторами настольных приложений на предмет, какой же подход, statefull или stateless, более предпочтителен, и в каких случаях.
Сейчас мы наблюдаем определенный тренд сдачи позиций апологетами statefull. Не в последнюю очередь в этом виноват даже не столько web, сколько банальный HTTP, вполне заслуженно занявший нишу «универсального протокола для всего». Причем возможность передачи Cookie весьма слабо влияет на его насквозь stateless природу.

Но что HTTP может нам предложить, в случае необходимости создания интерактивного приложения на вебе? Для того чтобы достичь «реактивности» оффлайнового statefull приложения, классического варианта с постоянным опросом состояния сервера короткими AJAX запросами по таймеру явно недостаточно. HTML5 несет нам технологию WebSockets, призванную решить эту проблему. Но ведь нужно чтобы работало «здесь и сейчас» на всех браузерах выпущенных в текущем тысячелетии.

На помощь приходит технология Comet, при помощи которой мы предприняли попытку реализовать браузерный русский преферанс с мгновенной реакцией на события.

Итак, знакомьтесь. Клуб интеллектуальных игр «Трельяж»
trellis-club.com

Трельяж