Redis, MongoDB и узел в обертке

В настоящее время я пытаюсь разработать панель администрирования для (игровых) серверов с использованием node.js.

Покопавшись в огромном количестве статей, вопросов о stackoverflow и ресурсах, разбросанных по интернету, я пришел к выводу, что такая установка мне подойдет:

  • Node.js на сервере, кроме того, экспресс, с внешним интерфейсом angular.js
  • MongoDB в качестве базы данных для хранения «основных» и постоянных данных (учетные записи пользователей, статистика, сообщения и т. д.)
  • Redis как хранилище данных, которые должны быть немедленно доступны для нескольких пользователей и часто обновляться. Данные, которые не нужны, если ни один пользователь не находится в сети (например, данные сервера в реальном времени).

Теперь проблема: эта административная панель также будет распространяться среди «обычных» пользователей, поэтому ею будут пользоваться люди, мало знающие о технологиях, используемых для ее разработки. Например: небольшой сервер, размещенный на домашнем ПК. Как прямое следствие, он будет использоваться и в большинстве операционных систем.

Технически с этим проблем нет. Вы можете установить 3 основных программного обеспечения и все будет в порядке. Однако настройка всего может быть сложной и неудобной для большинства людей из моей пользовательской базы.

Итак, вот вопрос:

Есть ли способ (или он уже был разработан) для запуска redis и mongo ON оболочки node.js, что устраняет необходимость установки и обслуживания 3 отдельных процессов?

Сценарий будет таким: пользователь загружает мое приложение, в котором есть сервер mongodb и сервер redis (загруженный и установленный оболочкой, соответствующим образом основанный на ОС и т. д.), которые запускаются оболочкой node.js, которая также управляет стабильностью и аварийное восстановление.


person Luke Rager    schedule 03.10.2012    source источник
comment
почему бы вам просто не предоставить сценарий установки для каждой платформы, который будет загружать, устанавливать и настраивать mongo, redis и node.js для вашего приложения?   -  person chovy    schedule 03.10.2012
comment
Отредактировал вопрос. Хотя ваше решение имеет смысл, мне все же больше нравится идея обертки.   -  person Luke Rager    schedule 03.10.2012


Ответы (1)


  • Создайте сценарий загрузки и сборки двоичных файлов для Linux, Mac и Windows. Имейте в виду, что Redis не официально поддерживается в Windows, но доступна версия.
  • Используйте узел child_process для управления хранилищами данных.
  • используйте nexe для создания двоичного файла node.js. Он не будет поддерживать динамические модули или нативные модули, что может представлять проблему.
person ruffrey    schedule 11.07.2015