вы можете запустить 2 экземпляра Redis, один на сервере А и один на сервере B.
, если вы свяжете АДРЕСА на А * или 127.0.0.1, IP B, вы можете попросить сервер B к быть рабом A: slaveof <A ip adress> 6379
каждый опубликовывает сделал A будет реплицировать B, так что вы можете слушать на B Serveur к каналу и нажмите что вы хотите номер
для вас информацию, вы можете запустите сервер, чтобы протестировать следующим образом: На A:
redis-server --port 6391 --bind (B-IP) --bind 127.0.0.1
на B:
redis-server --port 6392 --slaveof (A-IP) 6391
Я не в полной мере испытал это решение (тестировался только на локальном хосте для удвоенного сервера), но это должно работать
, если вы хотите, чтобы заботиться о некоторые клавиши вы можете использовать psubscribe с некоторыми «ключами» в качестве имени канала. я сделал это как то раньше:
на A
publish "|key1=toto||key2=titi||key3=plop|" "nanana"
на B
PSUBSCRIBE "*|key2=titi|*"
как вы видите разделитель на кнопке, вы будете иметь только фильтрующую толчок
вы можете сделать что-то подобное в вашем узле/socketIo: по А
var redis = require("redis");
client = redis.createClient();
client.publish("room::"+roomID, message);
на B
var redis = require("redis");
client = redis.createClient();
client.on("pmessage", function (pattern,channel, message){
//emit on roomid(in channel) the message
}
client.psubscribe("room::*");
не испытывалась ...
относятся к полученному ответу [здесь] [1] [1]: http://stackoverflow.com/ вопросы/20396252/sharing-io-object-in-multiple-node-экземпляры/20467890 # 20467890 – Pranav