2013-03-31 4 views
0

Я хочу знать, как структурировать мой NodeJS-сервер. Я хочу разделить услуги, предлагаемые на моем веб-сайте, для монтирования кластера в будущем и иметь много серверов (каждому из которых разрешено выполнять одну специальную задачу).Отдельная служба на сервере NodeJS

Пример:

  1. 'основному' сервер, который имеет один проект: ExpressJS и базы данных
  2. 'коммуникационный сервер', который имеет один проект: чат + форум
  3. Прочее проекты: Для комплексные вычисления (генерация диаграммы/статистика/отправка по электронной почте)

Не могли бы вы объяснить мне другой подход для этого сложного веб-сайта e?

+0

Я думаю, что этот вопрос принадлежит http://serverfault.com/. Речь идет не о кодировании в node.js, а о том, как моделировать архитектуру вашего сервера. Если бы это был PHP или ASP.NET MVC, ответ был бы таким же. Удачи! –

ответ

1

Как и Бенджамин Груэнбайм, архитектура принадлежит где-то еще.

Если вам интересно, как настроить приложения на отдельном сервере, нужно иметь в виду несколько вещей.

  1. NodeJS запускается в одном процессе, поэтому в идеале он должен занимать 1 ядро ​​процессора. Если вы запускаете базу данных на том же сервере, это другое ядро. Таким образом, может быть хорошо размещать все узловые приложения на одном сервере, если у него достаточно количества ядер.
  2. Чтобы запустить два разных процесса узла на одном компьютере, вы просто запускаете их один за другим, но убедитесь, что они прослушивают разные порты.
  3. Чтобы убедиться, что вы можете уменьшить свое приложение позже, важно, чтобы вы использовали имена доменов, а не IP-адреса, когда вы идентифицируете свои услуги друг с другом. Поэтому приложение nodeJS должно знать о базе данных как mydatabase.mycompany.com, а не как 192.168.1.10 или любой другой IP-адрес. Это позволит вам позже переместить базу данных на другой сетевой адрес или использовать балансировщик нагрузки.
Смежные вопросы