Ich habe auf der Suche nach Hilfe gesucht, um einen Multi-Server-Cluster für eine Node.js Socket.IO-Installation einzurichten. Das ist es was ich versuche zu tun:
n
der Anzahl der Knotenserver mit Express und Socket.IO io.connect
mit diesem einen VIP verbinden und filtern Sie ihn dann auf einen der Server hinter dem Loadbalancer. Zum Beispiel - wenn wir Server A, Server B und Server C hinter LB1 (F5) haben und Benutzer A mit Server A verbunden ist, ist Benutzer B mit Server B verbunden und Benutzer C ist mit Server C verbunden.
In einem "Chat" -Szenario - im Grunde, wenn eine Nachricht von Server A an message
-Ereignis gesendet wird - sollten Server B und C die Nachricht auch an ihren verbundenen Client senden. Ich habe gelesen, dass dies mit socket-io.redis
möglich ist, aber es braucht eine Redis-Box - auf welchem Server sollte das installiert werden? Wenn alle Server mit derselben Redis-Box verbunden sind - funktioniert das automatisch?
Jede Hilfe wäre sehr dankbar, danke!
Die Antwort auf diese Frage lautet, dass Sie einen einzelnen Redis-Server einrichten müssen, der sich entweder außerhalb Ihres SocketIO-Clusters befindet - und alle Knoten damit verbinden.
Dann fügst du das einfach oben in deinen Code ein und es funktioniert einfach magisch ohne irgendwelche Probleme.
%Vor%