Ho letto molto sui websocket e li ho già implementati nel mio sistema. Questa domanda riguarda come usarli correttamente. Voglio implementare una notifica e un sistema di chat nel modo giusto.Websockets Notification-/Chat- System
Per le notifiche, ho il canale "notifiche/canale" e per le chat, ho il canale "chat/canale".
Anche questi due canali non sono "globali"? Diciamo che quando il sito ha 1.000.000 utenti, ciò significherebbe che tutti questi utenti si troverebbero in questi due canali. Quando una notifica viene inviata a un altro utente specifico, ciò significa che il messaggio viene inviato attraverso un canale, a cui sono stati abbonati 1.000.000 utenti.
Uguale ai messaggi di chat. Supponiamo che un utente voglia chattare con un altro utente. Ogni messaggio passerebbe il canale a cui tutti gli utenti si sono abbonati e, alla fine, solo l'utente target avrebbe ricevuto il messaggio a causa di un receiver_id passato.
Come gestire correttamente i canali di notifica e i canali di chat "privati"?
sarebbe più performante e sicuro per creare per ogni utente un "sub canale" (chat di gruppo e le notifiche, per esempio "le notifiche/channel/user1"), o semplicemente lasciare che tutti gli utenti in un unico grande canale?
Nessuna idea? Penso che questo sia qualcosa su cui tutti dovrebbero pensare quando si tratta di websocket, quindi ci deve essere un modo consigliato per farlo. – user3746259
Vorresti davvero che tutti gli utenti di 1 m chiacchierano nello stesso gruppo? Altrimenti, è ovviamente necessario suddividere le cose in sottogruppi. Lo stesso con le notifiche. Oltre alle implicazioni sulla performance, non tutti gli utenti dovrebbero ricevere tutte le notifiche per motivi di privacy. – gzost
Non intendevo chattare o inviare notifiche in un unico grande gruppo: intendevo in un unico canale e indirizzarlo agli utenti specifici. – user3746259