Ответы пользователя по тегу Node.js
  • Node.js код в MVC с запросами к сторонним API. Знаете пример?

    rumkin
    @rumkin
    Ищите раздельно:
    • Примеры приложений на Sails.js – классический MVC-фреймворк.
    • Грабберы, но их вы вряд ли найдете. В Sails вы можете создать сервис с очередью заданий, которые будут выполняться хоть бесконечно долго (пока не умрет процесс например).
    Ответ написан
    1 комментарий
  • Стоит ли ставить крупный сайт на node.js? Не рано ли?

    rumkin
    @rumkin
    Работал над крупным проектом с охватом аудитории в несколько миллионов пользователей в сутки, использовался nodejs. Полет нормальный, единственный минус – кадры. Нужен сильный nodejs программист в комманде.
    На том же express (django для ноды) работают очень нагруженные сайты, например MySpace. Полный список: expressjs.com/applications.html.
    Ответ написан
    Комментировать
  • Как осуществить правильный restart приложения на Node.js?

    rumkin
    @rumkin
    Я считаю,что бесшовный деплой реален и удобен в присутствии третьей стороны назовем его switcher. Как он работает:
    1. Switcher запускает n-инстансов и начинает распределять запросы равномерным слоем между ними: ведя учет запросов через счетчики.
    2. Вы посылаете switcher'у сигнал о перезагрузке/деплое.
    3. Switcher начинает поднимать новые инстансы, не убивая старых и отправлять запросы на них.
    4. Когда у старого инстанса счетчик запросов обнулился, его можно убивать, что и делает switcher.

    Таким образом вам не придется модифицировать имеющийся код, а масштабирование будет происходить безболезненно путем добавления новых инстансов. Обратите внимание: у процесса есть событие 'exit', на которое вы навешиваете обработчики для остановки вычислений. Т.е. сначала закрывается внешний интерфейс в штатном режиме, а только затем прекращаются внутренние операции, закрываются соединения, релизятся блокировки и т.п.
    Ответ написан
    Комментировать
  • Сохраняются ли временные данные при передачи данных через socket.io?

    rumkin
    @rumkin
    Нет, сам socket.io ничего не кеширует, но одна лишь формулировка вашего вопроса оставляет слишком много вариантов.
    Если речь идет о переменной: тогда это проблема областей видимости, и вы либо затираете не то: посмотрите где переменная объявляется, просмотрите все вышестоящие var и function. Либо переменная перезаписывается: анализируйте коллбеки, которые пишут в эту переменную.
    Ответ написан
  • Как реализовать модульную систему на node.js?

    rumkin
    @rumkin
    В nodejs нет mvc в реализации других языков, точнее он есть, но выглядит иначе. А MVC-фреймворки не пользуются особой популярностью, хотя попытки реализовать есть: sailsjs.org и derbyjs.com

    Советую изучить принцип работы connect или express, где вы на запрос, как на нитку, нанизываете обработчики, первый сработавший обработчик должен: отдать результат и прекратить выполнение, либо передать выполнение следующему обработчику, возможно, дополнив объект запроса новыми свойствами. Связывание элементов системы происходит разными способами, но обычно это делается через расширение объекта запроса или ответа. Это позволяет вам инкапсулировать модули, делая их менее зависимыми от системы в целом.
    Ответ написан
    Комментировать