WebSockets - poprawne podejście do tworzenia kanałów i przesyłania danych

Mam scenariusz, w którym chcę poinformować użytkowników o mojej stronie, że ktoś skomentował artykuł, w którym również skomentował. Przypomina to sposób, w jaki SO powiadamia mnie, gdy ktoś odpowiada na pytanie!

Po stronie serwera utrzymuję komentarz, a następnie sprawdzam wszystkich użytkowników, którzy skomentowali ten sam artykuł. Następnie transmituję (używam Atmosphere):

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

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

„Kanał”, do którego nadaję, jest „własnym” kanałem użytkownika, ponieważ nie chcę, aby każdy użytkownik był powiadamiany. Aby to osiągnąć, używam identyfikatora użytkownika w nazwie kanału.

Czy jest to właściwy sposób zapewnienia, że ​​tylko odpowiedni użytkownicy zostaną powiadomieni?

Chyba też chcę zrobić jeszcze dwie rzeczy:

Pchaj tylko do użytkowników, którzy moim zdaniem są nadal online. Jeśli nie są online, to pchanie do nich marnotrawstwa zasobów.Zaszyfruj wiadomość, ponieważ w przeciwnym razie ktoś mógłby słuchać moich wiadomości, jeśli znają mój identyfikator użytkownika.

Czy jest jeszcze coś, o czym muszę myśleć?

questionAnswers(1)

yourAnswerToTheQuestion