Notifications jede Sekunde Datensatz neuladen?

01/10/2019 21:43 Cc_Cc_Cc#1
Guten Tag,

nehmen wir mal an Person A sendet Person B eine Freundschaftsanfrage. Person B bekommt ohne die Seite neuzuladen direkt eine Benarichtigung das er eine Anfrage von Person A bekommen hat.

Sollte man jetzt z.b per jQuery jedes mal per Ajax (jede Sekunde) die Benarichtigungen fetchen oder gibt es eine bessere Methode wie man das macht?
01/10/2019 21:58 Syc#2
Kommt drauf an was du für ein Techstack du im Backend verwendest, aber socket.io bietet sich für sowas ziemlich gut an.
01/11/2019 08:39 Wurzelhüpfer#3
Jede Sekunde einen neuen Request rauszusenden, welcher überprüft, ob es neue Freundschaftsanfragen, Nachrichten oder was auch immer gibt, würde ich in jeglicher Hinsicht von abraten.

Du würdest:
- enorm viele Requests und damit auch Traffic erzeugen, selbst, wenn dieser keine großen Datenmengen beherbergt.
- die Datenbank ununterbrochen anfragen (abhängig von Deinem verwendeten Backend), worunter die Performance leiden wird / kann.
- Allgemein eine höhere Last auf den Servern verursachen, angenommen 10 Leute haben gleichzeitig Deine Applikation offen, das wären pro Minute 600 zusätzliche Requests, welche nur überprüfen würden, ob es etwas Neues gibt.
- Ggf. die Performance Deiner Applikation einschränken.

Um das zu verhindern gibt es wie bereits von Syc genannt, Sockets / WebSockets, welche auch z. B. für Chat-Anwendungen verwendet werden. Das selbe Prinzip kann für einen Benachrichtigungskanal angewandt werden.
- [Only registered and activated users can see links. Click Here To Register...]

Noch ein weiteres Beispiel ist Firebase (von Google), welches im Framework selbst bereits solche Möglichkeiten verpackt hat, die Frage ist, ob Du die Lust / Zeit hast, das Framework anzueignen.
- [Only registered and activated users can see links. Click Here To Register...]

Andernfalls würde ich einfach empfehlen die Dauer der Überprüfung anderweitig umzusetzen, eventuell nur jede Minute, alle 5 Minuten, bei bestimmten Interaktionen die der Benutzer durchführt, etc.. Die Benachrichtigung muss ja nicht im exakt selben Moment bei dem Gegenüber eintreffen.

Cheers
01/11/2019 23:24 Leon338#4
Du kannst dir einfach mal allgemein Push-Services durchlesen.
Findest du zu jeder Programmiersprache was und das sollte auch die Lösung deines Problems sein