Как стать автором
Обновить

Комментарии 13

а как обстоят дела с масштабируемостью?
У Tornado дела с масштабируемостью обстоят хорошо, он для этого и создавался, а TornadoIO2 — лишь разборщик протокола Socket.IO.
НЛО прилетело и опубликовало эту надпись здесь
Почему же, вполне правильный вопрос.

TornadIO2 достаточно легковесный, там нет никаких сложных вычислений которые могли бы сильно кушать процессор. А сам Tornado — один из самых быстрых асинхронных серверов для питона. Один сервер сможет вытянуть большое количество клиентов.

Если говорить про горизонтальную масштабируемость — добавляем ZeroMQ или Redis, запускаем ферму, балансируем с помощью haproxy (или dns round robins) и получаем кластер, который вытянет сильно больше чем один сервер.
А есть примеры, когда клиент — не браузер? Насколько сложно написать клиент, скажем, на C# или Java?
Основная идея socket.io — организация push на браузер. Т.е. как бы нет смысла его использовать для других целей, так как есть всякие zeromq, thrift, etc.

Но да, народ написал клиенты для большинства языков. Для питона полноценного клиента нет, но есть пример как можно на коленке сделать свой: stackoverflow.com/q/7586302
смотрел и трогал еще первый tornadio, отказался по нескольким причинам

все круто, но мне не нужны другие транспорты кроме flash & websocket

а tornadio.SocketConnection != tornado.websocket.WebSocketHandler

я правда не тестировал еще flash прокладку, не было необходимости, но в WebSoketHandler мне приятно было делать self.get_secure_cookie, да и вообщем все остальное было как в обычном хендлере понятно и прозрачно

скажите просто, мне стоит смотреть tornadio2 или проще реализовать протокол самому поверх WebSocketHandler?
WebSocketHandler более низкоуровневый чем соединение tornadio. Из за поддержки всех транспортных протоколов нельзя рассчитывать что всегда будут доступны куки и так далее. FlashSocket нормально работает с WebSocketHandler, но он не умеет передавать куки вообще.

К слову, в TornadIO2 немного улучшилась ситуация с обработкой входящего запроса (куки и строка запроса передаются в on_open вне зависимости от протокола) и, причем, точно знаю одного человека у которого взлетели secure cookie в TornadIO2 (chegivara, он отметился ниже).

Но если нет желания использовать ничего кроме веб сокетов и обратная совместимость не сильно заботит, то можно и не смотреть :-)
Написал чат на tornadio2 — все отлично работает. Большое спасибо за библиотеку.
Здорово! Очень интересует, удалось ли читать secure cookie? При каких транспортаах? Как храните инстансы соединений?

Разработчики Socket.IO сами пишут что существует такая проблема как отсутствие cookies при соединении через WebSockets, и поэтому они реализовали принудительный xhr запрос после удачного соединения. В TornadIO2 есть подобый функционал? Или как можно самому его реализовать?
Удивительная вещь — статьи на хабре в 90% случаев появляются вовремя. Автору + в карму и благодарность за полезную статью с примерами!
Как организовать check_origin в Torndio2?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории