Как лучше всего заставить один сервер node.js "общаться" с другим?

  • MsgPack?
  • JSON-RPC?
  • Socket.io (это возможно? Как?)

РЕДАКТИРОВАТЬ: я говорю о 2 процессах узла каждый на другой физической машине;

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

3 ответа

Решение

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

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

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

надеюсь, это поможет

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

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

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

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

Другие вопросы по тегам