Перепутал Биплан с Билайн, но факт остается фактом, айдентика спи**ена.
14 августа 2012 г., 1:40 пользователь Андрей П. Ковбович <[email protected]> написал: > Цветовая схема setup-а смахивает на билайновскую. Хотя, если дизайнер > работала в Вымпелкоме, то это не удивительно. > > 14 августа 2012 г., 0:52 пользователь Dmitry Simonov > <[email protected]> написал: >> В общем слушайте Дениса Ибаева, - он на этих вебсокетах собаку съел. А >> я ему эту свинью подложил :) >> >> Вебсокеты по своей сути нужны для постоянно коннекта с браузерами >> клиента. В результате внедрения вебсокетов на наш проект, мы >> фактически можем в реалтайме менять всю картинку в браузере у клиента >> и получать при этом обратную связь. При числе клиентов более четверти >> миллиона, - это ощутимо. Строго говоря, можно мы имеем распределённый >> ботнет из браузеров клиентов. >> >> Итоги внедрения: с браузерами минимальные проблемы и ох..евшие >> проблемы с провайдерами, которые всеми мыслимыми и немыслимыми >> способами пытаются сэкономить на трафике. Например, в моём московском >> офисе Акадо (сука!) режет хёдеры хендшейка. При внедрении вебсокетов >> меньше всего мы собственно занимались самими вебсокетами, а больше >> всего бились над внедрением их эмуляции, в случае проблем с >> провайдерами. >> >> Итак из чего состояло внедрение: >> >> * Мы заюзали Mojolicious с использованием Mojo::Server::Daemon на >> этапе разработки. При попытке вынести его в бой, получили неустойчивое >> поведение на больших нагрузках (подвисания, утечки памяти, потери >> коннектов). Движок сменили на Starman, - он стал панацеей. >> >> * Столкнулись с тем, что Сафари на iДевайзах юзает WebSocket76, >> который Mojolicious уже не поддерживает. Решением стал: >> https://github.com/SetupRu/mojox-transaction-websocket76 >> >> * Наступили на грабли с провайдерами, которые просто неготовы с >> вебсокетам. Для них прикрутили питонячий SockJS. С ним бекендом умеет >> работать Tornado, который в отличие от SockJS не умеет работать >> неблокируемо с внутренниими интерфейсами. Допилили его проксёй, >> обученной общаться с Mojocious родными вебсокетами. По ходу действия >> столкнулись с чисто питонячими проблемами работы библиотеки WebSocket >> (она сыровата ещё). Вообще некоторые Http-протоколы на питоне >> смотрятся толи сыровато, то ли там какой-то совершенно иной подход, >> сильно отличающийся от перла с точки зрения именно интерфейсов. >> >> * Специально для наших "любимых" провайдеров транспорт вебсокетов >> пропускаем по 80му порту (все остальные порты ни каким образом от >> блокироки провайдерами не защищены), - для этого специально выделены >> ip-шники. >> >> * Для хранения сессионных данных используем мемкеш. >> >> * Параллельно всему этому развивался и допиливался js-кусок, >> работающий с Mojolicious и SockJS, постепенно превращаясь в правильный >> инструмент. Архитектурно вся связка работает по протоколу JSON RPC >> 2.0. Бекенд выступает как полноценное API, входными интерфейсом к >> котором прикручен HTML::FormHandler, как инструмент умеющий правильно >> валидировать приходящие формы (понятно, что вместо форм мы оперирует >> JSON-конструкциями). >> >> * Как отдельные грабли (хотя и незначительные) назову необходимость >> обрабатывать на уровне js русскоязычные домены с использованием >> punycode. >> >> * Прикрутили многоязычность. >> >> Результирующая связка следующая: >> >> Browser <=> fh.js <=> ( SockJS <=> Tornado <=> ) Starman <=> >> Mojolicious <=> HTML::FormHandler <=> MemCache + DBIx::Class. >> >> Получившаяся схема имеет 100% покрытие всех пользователей. На текущий >> момент построенная связка находится в бета-тестировании и мы учимся >> контролировать все звенья, чтобы они тупо не выпадали. До сих пор >> некоторым образом некоторые звенья то выпадают, то отключаются, то их >> тупо кто-то стреляет. Но это уже вопросы администрирования, на котором >> мы всё туже затягиваем гайки. Мост наведён, вытянут в струнку и готов. >> >> Смотреть можно на любых сайтах построенных на setup.ru, - вебсокеты в >> режиме бета-тестирования используются для формы обратной связи (ушко >> "задать вопрос") и корзины: >> * http://проба-пера.рф/ - форма обратной связи >> * http://tekstil33market.ru/katalog/polotentca/makhrovoe-polotentce-00952 >> - корзина >> * http://myxbox360.ru/console/xbox-360-slim-freeboot - простая форма заказа >> >> Следует обратить внимание, что все три типа формы работают по одному и >> тому же единому протоколу. >> >> Жду фидбека: вопросы, замеченые косяки, пожелания. >> Полный список всех сайтов на setup.ru здесь: http://setup.ru/top/ >> >> --- >> Dmitriy V. Simonov, >> Perl & Python programmer >> >> >> 2012/8/14 Akzhan Abdulin <[email protected]>: >>> HA Proxy, не? >>> >>> 13 августа 2012 г., 14:13 пользователь Ivan Petrov <[email protected]> >>> написал: >>> >>>> хочу таки попробовать проектик на вебсокетах сваять. хоть половина >>>> браузеров его и не поддерживает, но поскольку нужен довольно сильный >>>> интерактив, видимо придется клиенту говорить "поставьте другой >>>> браузер" если его браузер их не поддерживает... >>>> >>>> соответственно у нас везде инфраструктура была такая: nginx на >>>> фронтенде и куча бакендов в зависимости от location. >>>> сунулся в nginx - он вроде вебсокеты еще не поддерживает. а что вместо >>>> него поюзать можно? >>>> -- >>>> Moscow.pm mailing list >>>> [email protected] | http://moscow.pm.org >>> >>> >>> >>> -- >>> Moscow.pm mailing list >>> [email protected] | http://moscow.pm.org >>> >> -- >> Moscow.pm mailing list >> [email protected] | http://moscow.pm.org -- Moscow.pm mailing list [email protected] | http://moscow.pm.org
