2017-03-25 1 views
0

Ich habe eine App, in der ich ein Kommentarfeld habe. Alles funktioniert gut. Aber da ist eine kleine Sache, die mich nervt. Ich verwende React und setze das Aktualisierungsintervall auf 2 Sekunden. Also wird alle 2 Sekunden ein REST-Aufruf durchgeführt, der einen neuen Kommentar oder keinen Kommentar zurückgibt (ich tue dies, indem ich den letzten aktualisierten Zeitstempel im API-Aufruf sende). Dieser Restanruf gibt jedoch immer noch 200 B zurück, wenn er leer ist. Jetzt allein ist diese Größe minimal. Aber wenn ein Benutzer für 10 Minuten auf der Seite bleibt, auch ohne neue Kommentare, würde er 10 * 60/2 * 200 B ~ 60000 B ~ 60 KB herunterladen.Kommentar Box Aktualisierungszeit

Ist dies angemessen oder sollte ich in andere Lösungen schauen?

+0

Ich denke, Sie könnten die Abfragefrequenz senken. Auch 60kb in 10 Minuten ist in Ordnung. – Andreyco

+0

Perfekt! Danke für die Eingabe! :) – Shubham

Antwort

1

Ich würde eine Websocket verwenden.

Sie können dann Ihre Kommentarfunktion für Änderungen vom Server abrufen, ohne dass der Browser einbezogen werden muss. Nur wenn Sie neue Kommentare auf dem Server erkennen, würden Sie dann ein entsprechendes Socket-Ereignis mit der Payload ausstrahlen. Alle hörenden Clients würden dann ihre Kommentare nur bei Bedarf aktualisieren.

Auf diese Weise vermeiden Sie jeglichen Overhead, entweder die Serverlast, die durch das Erstellen und Zerstören der http-Verbindungen verursacht wird, oder die Clientlast, die 'leere' Payloads empfängt.

+0

ok .. nett .. ich lese auf websockets und sie scheinen das Problem zu lösen .. obwohl ich verloren bin auf, wie man den Rest Anruf zu Websocket migrieren .. Ich werde mehr dazu lesen! Danke für die Anleitung .. :) – Shubham

Verwandte Themen