Как лучше всего сделать один узел.сервер js "разговаривает" с другим?
- MsgPack ?
- В ФОРМАТЕ JSON-RPC В ?
- гнездо.io (возможно ли это ? как ?)
изменить: Я говорю о 2 узловых процессах, каждый из которых выполняется на другой физической машине;
Я не понимаю, как редис может помочь мне в этом...
3 ответов
Я не совсем понимаю, ищете ли вы способы сделать два сервера узлов на двух физических машинах "разговаривать друг с другом" или два узла.сервер js обрабатывает на одной машине.
(Вы можете отредактировать свой вопрос, чтобы сделать его более ясным).
вы могли бы посмотреть на:
- протокол буферы на узел
- MsgPack-RPC на узел
- Websocket.MQ
- dnode --это использует сокет.io как транспортный уровень
- IPCNode
- AMQP с узел-amqp или узел-amqp и что-то вроде RabbitMQ
- или вы можете пойти с документом на основе db, как redis
Примечание: некоторые из них могут нуждаться в некотором обновлении
надеюсь, это поможет
Я бы пошел на redis. Семантика pubsub довольно милая. The node_redis клиентская библиотека очень быстрая, потому что она может использовать молниеносную библиотеку C-extension с именем hiredis. Я бы просто использовал json в качестве кодировки. Что, вероятно, будет более чем достаточно быстро.
вы также можете использовать DNode сделать ваше сообщение если вы любите. Я тоже считаю это гнездо.функции Ио. Вы должны взглянуть на исходный код, чтобы найти это из.
из вашего вопроса не совсем ясно, что вы подразумеваете под сервером узла, разговаривающим с другим сервером. Вы можете использовать что угодно: от отправки UDP-пакетов, создания TCP-соединений, HTTP-соединений до использования любого из механизмов высокого уровня, на которые уже указывали другие.
для интересного scenerio связи процессов узла вы можете взглянуть на 2010 JSConf.EU talk by Mikeal Rogers. Он объясняет, как использовать CouchDB для этого. Весьма интересный говорить.