Каков наилучший способ заставить один сервер node.js «общаться» с другим? - PullRequest
7 голосов
/ 16 февраля 2011
  • MsgPack?
  • JSON-RPC?
  • Socket.io (возможно? Как?)

EDIT: Я говорю о 2-х узловых процессах, каждый на отдельной физической машине;

Я не понимаю, как Redis может помочь мне в этом ...

Ответы [ 3 ]

7 голосов
/ 17 февраля 2011

Мне не совсем ясно, ищите ли вы способы заставить два сервера узлов на двух физических машинах "общаться друг с другом" или два процесса сервера node.js на одной машине.
(Вы можете редактироватьВаш вопрос, чтобы сделать его более понятным).

Вы можете посмотреть:

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

Я надеюсь, что этопомогает

3 голосов
/ 16 февраля 2011

Я бы пошел на redis .Семантика pubsub довольно мила.Клиентская библиотека node_redis очень быстрая, поскольку она может использовать молниеносную библиотеку c-extension с именем hiredis.Я бы просто использовал JSON в качестве моей кодировки.Вероятно, это будет более чем достаточно быстро.

Вы также можете использовать DNode для общения, если хотите.Я также считаю, что у него есть возможности socket.io.Вы должны взглянуть на исходный код, чтобы узнать это.

1 голос
/ 17 февраля 2011

Из вашего вопроса не совсем понятно, что вы имеете в виду, когда Node-сервер общается с другим сервером.Вы можете использовать что угодно, от отправки пакетов UDP, создания соединений TCP, соединений HTTP до использования любых механизмов высокого уровня, на которые уже указывали другие.

Для интересного сценария взаимодействия процессов Node вы можете посмотретьна 2010 JSConf.eu разговор Mikeal Rogers .Он объясняет, как использовать CouchDB для этого.Очень интересный разговор.

...