Frage

Wir entwickeln derzeit einen Server, wobei ein Client Interesse an Änderungen an bestimmten Datenelementen anfordert und wenn diese Daten ändert der Server die Daten an den Client zurück schiebt. Es hat lebhafte Debatte bei der Arbeit darüber, ob es nicht besser wäre, für die Kunden für diese Daten abzufragen.

Was gilt als die ideale Methode, um in Bezug auf Leistung, Skalierbarkeit und Netzwerklast, der Datenübertragung in einer in der Nähe von Echtzeit-Umgebung?

Update: Hier ist ein Verbindung , die in Bezug auf die UI-Updates einige Denkanstöße gibt.

War es hilfreich?

Lösung

Es gibt wahrscheinlich keine ideale Methode für jede Situation, aber Push ist in der Regel besser und häufiger verwendet. Es ermöglicht Server-Caching und Datenübertragungen zu optimieren, die Leistung und Skalierbarkeit hilft, und schneidet den Netzwerkverkehr ein wenig von Client-Anforderungen zu vermeiden und leere Antworten. Es kann wichtiger Vorteil sein für einen Server in einem eigenen Tempo und liefern Kunden mit Daten zu arbeiten, wenn es fertig ist.

Industrie Standart - wie OPC, GID - unterstützen beides. Server schiebt Updates abonniert Kunden, aber Client kann einige selten benötigte Daten herausziehen, ohne Abonnement zu belästigen.

Andere Tipps

Solange der Client die Verbindung initiiert (bestanden Firewall und NAT-Probleme zu bekommen) oder so ist in Ordnung.

Wenn es mehrere verschiedene Arten von Daten sind Sie senden müssen, könnten Sie der Kunde angeben, haben wollen, welche Art er will, aber dies wird nur einmal benötigt pro Verbindung. Dann können Sie den Server weiterhin Updates senden, wie sie sie hat.

Es wäre weniger Netzwerkverkehr kann den Server-Updates ständig, ohne dass der Client nach Updates fragen senden lassen.

Was haben Sie auf der Seite des Kunden? Viele Firewalls erlauben ausgehende Anfragen aber blockieren eingehende Anfragen. Mit anderen Worten, ziehen könnte Ihre einzige Option sein, wenn Sie das Internet überqueren, wenn Sie E-Mails versenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top