Wiele czytałem na temat websockets i już je wdrożyłem w ramach mojego systemu. To pytanie dotyczy prawidłowego ich wykorzystania. Chcę zaimplementować system powiadomień i czat we właściwy sposób.Websockets Notification-/Chat-System
Dla powiadomień mam kanał "powiadomienia/kanał" i dla czatów mam kanał "czaty/kanał".
Czy te dwa kanały nie są zbyt "globalne"? Powiedzmy, że jeśli witryna ma 1.000.000 użytkowników, oznaczałoby to, że wszyscy użytkownicy byliby na tych dwóch kanałach. Gdy jedno powiadomienie zostanie wysłane do innego określonego użytkownika, oznacza to, że wiadomość zostanie wysłana przez kanał, na którym subskrybuje 1.000.000 użytkowników.
To samo z wiadomościami na czacie. Załóżmy, że użytkownik chce rozmawiać z innym użytkownikiem. Każda wiadomość przekazałaby kanał, w którym wszyscy subskrybowali i na końcu, tylko docelowy użytkownik otrzyma wiadomość z powodu przekazanego receiver_id.
Jak prawidłowo obsługiwać kanały powiadomień i "prywatne" kanały czatu?
byłoby bardziej wydajnych i bezpiecznych stworzyć dla każdego Użytkownika do kanału „sub” (czaty grupowe i powiadomień, np „powiadomienia/kanał/user1”), albo po prostu niech wszystkich użytkowników w jednym dużym kanale?
Brak pomysłów? Myślę, że jest to coś, o czym każdy powinien pomyśleć, jeśli chodzi o sieci internetowe, więc musi być zalecany sposób, aby to zrobić. – user3746259
Czy naprawdę chcesz, aby wszyscy 1m użytkownicy czatowali w tej samej grupie? W przeciwnym razie oczywiście musisz podzielić rzeczy na podgrupy. To samo dotyczy powiadomień. Oprócz wpływu na wydajność, nie wszyscy użytkownicy powinni otrzymywać wszystkie powiadomienia z powodów związanych z prywatnością. – gzost
Nie miałem na myśli rozmów ani wysyłania powiadomień w jednej dużej grupie - miałem na myśli jeden duży kanał i adresowałem go do konkretnych użytkowników. – user3746259