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

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

Что-то ссылка на демо уже не работает :)
Асинхронный производительный event-driven сервер, легковесная nosql БД и гибкие расширяемые облачные технологии в действии.
Кавычки расставить по вкусу :D
Слабину дал не Node.JS и не MongoDB, а мой относительно новый HDD.
Какие тут еще «облачные» технологии? Всё на рабочем компе.
function $(a){return document.getElementById(a)}

А почему не так?
var $ = document.getElementById.bind(document);
А зачем всё усложнять?
о, исходники в архиве, как в старые добрые времена =)
P.S. почему не стильный, модный, молодежный github/bitbucket/etc?
Пишем на досуге распределенную отказоустойчивую систему нотификаций и декомпозиции сообщений. Можно как и очень навороченный чат использовать. Используется для внутренних нужд.

Схема работы (немного не правильная):
github.com/Kluge-Inc/talkwut-docs

Веб (можно использовать как чат с комнатами + рассылка на почту):
github.com/Kluge-Inc/talkwut-web

Ядро:
github.com/Kluge-Inc/talkwut-core

Desktop клиент:
github.com/Kluge-Inc/talkwut-notifier

Если кому-то интересно — то можем написать статью.
мне интересно
Через неделю — две, думаю, напишем.

Пока в божеский вид приведем.

Еще хотим github.com/Kluge-Inc/spectator на него завязать (для этого нужна версионность сообщений, минорные изменения протокола и хотелось бы diff вордовских документов)

В перспективе там должен быть базовый campfire.
Очень интересно, напишите пожалуйста!
Делал как-то в свободное время чат на node.js, плюс к нему игру викторина, вот что получилось: vk.com/appquiz :)


Оригинальный интерфейс. Где кнопка входа-то?
Enter нажать не пробовал? Зачем лишние кнопки?
Пробовал, похоже такой ник уже использовался и ничего не произошло, хотя выглядело это, будто что-то отвалилось. Я бы предпочёл наличие кнопочки входа.
Как юзеру далекому от IT я за кнопку «Войти»!
Ссылки выдаюи 404. Звлейте исходники на гитхаб. За статью спасибо, плюсанул.
Сейчас залью, только кто-то постарался почистить мне комп примерно вот так:

rm -rf /var/www/x
А вот с Гитхабом у них так, скорее всего, не получится сделать.
Для интересующихся этой темой могу порекомендовать видео канал Ильи Кантора на youtube. Там все это до мелочей разбирается.
На счет статьи, я так и не понял, где здесь продвинутый чат???
Возможно функционал функции specials_in…
Демо не работает, не могу залогинится. Поправьте, пожалуйста
НЛО прилетело и опубликовало эту надпись здесь
Статье то уже 7 лет как) Нода сильно изменилась с тех пор, да и я был куда моложе. Убрал бы в черновики, но пусть лучше лежит тут для истории. «Продвинутый» он только для своего времени.

Если запустить второй инстанс, то он просто не заведётся так с ходу без модификации кода, странно было бы вообще ожидать что тут где-то должна была перебрасываться память. Во всяком случае, запросы пропадать никуда точно не станут.

Для масштабирования следовало бы использовать какой-нибудь Redis или любой другой удобный pub/sub. Но нужно было ли это вообще? Максимальный онлайн был на порядки ниже, чем вынес бы один инстанс.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Первого и второго просто не будет. Второй не встанет рядом сам по себе, порты по своей природе используются эксклюзивно, и если два приложения захотят слушать на одном, то какому-то из них не суждено.

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

И редис пройдет. На всякий случай, объясняю:
Можно повесить несколько инстансов на разных портах за балансировщиком (nginx, к примеру), и между ними, в таком случае, будут распределяться клиенты (websocket'ы), но ни коим образом не сообщения в этих самых сокетах. Сокет однозначно связывает один инстанс сервера с одним инстансом клиента. В таком случае без изменений кода будет работать всё, за исключением мгновенных уведомлений. Выйдет так, что уведомление о новом сообщении получат только те же клиенты что связаны с тем же инстансом сервера. Это решается рассылкой уведомлений (событий нового сообщения) между инстансами серверов через Redis pub/sub.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории