crows: вконтакте используют HTTP Streaming и это работает. Суть, с помощью XmlHttpRequest клиент делает запрос к веб-серверу, тот поднимает php скрипт с бесконечным циклом и проверкой на появление новых событий для клиента, как только событие наступило, данные отправляются клиенту, но соединение с веб-сервером не закрывается, а работает дальше. По истечению таймаута в 25 секунд соединение закрывается и открывается заново. Так работают например личные сообщения. Это одна из разновидностей Comet технологий.
Другой пример. Популярная браузерная игра Бойцовский клуб, там чат работает с помощью отправки ajax-запросов раз в 15 секунд и доставляет клиенту сообщения с сервера. В 2004-09 годах в пиках онлайн достигал 7к игроков. И даже такой самый простой подход работал и работает до сих пор.
На вскидку из comet технологий, можно сделать polling/long polling/http streaming и всё это делается с помощью объекта xhr ну или как в народе говорят ajax.
В качестве альтернативы комет-технологиям есть websocket-протокол, как раз для этих целей. Но с ним всё сложнее, написать свой нормально работающий и масштабируемый вебсокет сервер задача не из легких.
Алексей Ярошевич: Ваш оппонент о яндексе верно говорит, знакомый в яндексе работал питон девелопером, так и было 40 изначально, потом подняли до 60 тыс. руб.
myset 1 2 3 4 5
Первые три элемента были добавлены первым websocket сервером, последние два вторым сокет-сервером. Первый сокет-сервер упал. Как отдельному демону узнать, какие именно элементы нужно удалить из myset ?
В качестве лоад балансера, я хотел использовать nginx, чтобы проксировать websocket-траффик на различные сервера, с помощью round-robin.