Frage

Ich bin neu bei Node JS und Socket IO, aber ich habe viele gute Dinge über sie gehört, also wollte ich sie mir als Echtzeit -Benachrichtigungssystem ansehen.

In meinem Szenario öffnet ein Benutzer einen Socket, um Benachrichtigungen zu hören, die dem Benutzer veröffentlicht werden. Jeder Benutzer öffnet eine Verbindung zu seinen eigenen Benachrichtigungen, nicht zu einem "öffentlichen" Kanal.

var jug = new Juggernaut;
var channel = "/user/" + userId + "/notifications";
jug.subscribe(channel, function(data){
    console.log("Got data: " + data);
});

In fast allen Fällen werden 1 Benutzer auf 1 Kanal abonniert.

Ich habe 2 Bedenken:

  1. Alle Moloch-Beispiele, die ich gesehen habe, beinhalten mehrere Kunden, die sich auf 1 Kanal abonnieren. Dadurch bin ich der Meinung, dass es nicht für die Verwendung von 1-1 Kommunikation konzipiert ist.
  2. Gibt es eine Möglichkeit, Authentifizierung hinzuzufügen, damit nur angegebene Benutzer die Nachricht erhalten (dh der derzeit angemeldete Benutzer ist der einzige, der seinen/ihren Benachrichtigungskanal abonnieren kann). Wenn es eine Möglichkeit gäbe, zusätzliche Daten zum Abonnieren zu übergeben, wäre dies wahrscheinlich ausreichend (Hash die Benutzer -ID und verwenden Sie diese vielleicht als Token?).

Hat jemand Erfahrung mit Juggernaut, die dieses Szenario zuvor möglicherweise aufgetreten sind?

War es hilfreich?

Lösung

Alle Moloch -Beispiele, die ich gesehen habe

Was ist der Unterschied zwischen vielen Abonnenten und einem Abonnenten des Verlags?

Gibt es eine Möglichkeit, Authentifizierung hinzuzufügen, damit nur bestimmte Benutzer die Nachricht erhalten

Sicher. Erfordern Sie den Kanal, um eine Authentifizierung zu haben, und da er nach UserID erfolgt, wissen Sie bereits die Dinge, die Sie sich sichern müssen.

Wie man Moloch dazu bringt, Authentifizierung zu machen, sieht es so aus, als ob Sie Host -Headers für Sie veröffentlichen können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top