WebSockets - Richtiger Ansatz zum Erstellen von Kanälen und zum Übertragen von Daten

Ich habe ein Szenario, in dem ich Benutzer meiner Website darüber informieren möchte, dass jemand einen Artikel kommentiert hat, zu dem sie auch Kommentare abgegeben haben. Dies ist sehr ähnlich zu der Art und Weise, wie SO mich benachrichtigt, wenn jemand auf eine Frage antwortet!

Serverseitig behalte ich den Kommentar bei und suche dann alle Benutzer, die denselben Artikel kommentiert haben. Ich sende dann (ich benutze Atmosphere):

PushContext pushContext = PushContextFactory.getDefault().getPushContext();

for(User u : users){       
    // channel name, message
    pushContext.push("/user_" + u.id, "someone commented! blah blah"); 
}

Der "Kanal", an den ich sende, ist der "eigene" Kanal des Benutzers, da nicht jeder Benutzer benachrichtigt werden soll. Ich benutze die ID des Benutzers im Kanalnamen, um dies zu erreichen.

Ist dies der richtige Weg, um sicherzustellen, dass nur relevante Benutzer benachrichtigt werden?

Ich denke, ich möchte noch zwei Dinge tun:

Nur Push an Benutzer, von denen ich glaube, dass sie noch online sind. Wenn sie nicht online sind, ist dies eine Verschwendung von Ressourcen.Verschlüsseln Sie die Nachricht, da sonst jeder meine Nachrichten abhören könnte, wenn er meine Benutzer-ID kennt.

Gibt es noch etwas, woran ich denken muss?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage