2017-10-26 3 views
-2

Ich möchte den Status einer Reaktionskomponente an einen Backend-Server binden, der auf Django läuft. Was ich versuche zu erreichen, ist ein Ajax-Aufruf, der ständig den Zustand der Komponente aktualisiert, aber ständig einen api-Aufruf nach ein paar Sekunden zu machen, könnte einen Einfluss auf die Leistung der Anwendung haben und daher suche ich nach einem besseren Weg, um das Gleiche zu erreichen.Wie binde ich eine reaktive Komponente an den Datenbankstatus?

+0

Haben Sie Bedenken, die Datenbank beim Aktualisieren des Frontends zu aktualisieren? Oder geht es darum, das Frontend eines Benutzers zu aktualisieren, wenn ein anderer Benutzer die DB ändert? –

+0

Letzteres würde ich sagen. –

Antwort

0

Sie haben zwei mögliche Lösungen - Polling und Websockets. Polling bedeutet, in einem bestimmten Intervall einen Anruf zu tätigen und zu fragen, was geändert wurde. Das ist einfach, aber wie Sie gesagt haben, kann ineffizient sein. WebSockets beziehen den Server ein, der Push-Benachrichtigungen an den Browser sendet, die sagen, wenn sich etwas ändert.

This site gibt eine Einführung in die Verwendung von Websockets für das, was Sie wollen. Es ist besser, aber komplizierter zu implementieren.

Sie müssen eine Entscheidung über den Datenverkehr treffen - wenn Ihr Datenverkehr alle fünf Sekunden von jedem Benutzer einen Abrufaufruf verarbeiten könnte, ist das die viel einfachere Option. Wenn nicht, websockets ist es.

+0

Bitte die Skalierung nicht vergessen. Wenn Sie 1000 Benutzer haben, können Sie Ihre Anwendung einfach beenden. – Waize

+0

Okay danke! Da ich bisher noch keine andere Möglichkeit gefunden habe, bleibe ich bei den Websockets. –

Verwandte Themen