2008-09-12 3 views
4

Wir entwickeln derzeit einen Server, bei dem ein Client Interesse an Änderungen an bestimmten Datenelementen anfordert und wenn diese Daten sich ändern, schiebt der Server die Daten zurück an den Client. Es wird heftig darüber debattiert, ob es für den Kunden besser wäre, nach diesen Daten zu fragen.Push oder Pull für einen nahezu Echtzeit-Automatisierungsserver?

Was wird in Bezug auf Leistung, Skalierbarkeit und Netzwerklast als die ideale Methode für den Datentransfer in einer nahezu Echtzeitumgebung angesehen?

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

Antwort

3

Es gibt wahrscheinlich keine ideale Methode für jede Situation, aber Push ist in der Regel besser und wird häufiger verwendet. Es ermöglicht die Optimierung von Server-Caching und Datenübertragungen, was die Leistung und Skalierbarkeit verbessert und den Netzwerkverkehr ein wenig reduziert, indem Clientanforderungen und leere Antworten vermieden werden. Es kann für einen Server von Vorteil sein, in seinem eigenen Tempo zu arbeiten und den Clients Daten zur Verfügung zu stellen, wenn sie bereit sind.

Industriestandards - wie OPC, GID - unterstützen beide. Der Server sendet Updates an abonnierte Clients, aber der Client kann einige selten verwendete Daten abrufen, ohne sich um das Abonnement zu kümmern.

1

Solange der Client die Verbindung initiiert (um Firewall- und NAT-Probleme zu bestehen), ist es in Ordnung.

Wenn mehrere verschiedene Arten von Daten gesendet werden müssen, empfiehlt es sich möglicherweise, dass der Client den gewünschten Typ angibt, der jedoch nur einmal pro Verbindung benötigt wird. Dann können Sie veranlassen, dass der Server weiterhin Aktualisierungen sendet, wie sie diese haben.

Es wäre weniger Netzwerkverkehr, wenn der Server Updates sendet, ohne dass der Client ständig nach Updates fragt.

0

Was haben Sie auf der Seite des Kunden? Viele Firewalls erlauben ausgehende Anfragen, blockieren aber eingehende Anfragen. Mit anderen Worten, Pull kann die einzige Option sein, wenn Sie das Internet durchqueren, es sei denn, Sie verschicken E-Mails.

+0

Wir haben unsere eigene Client-Software und in diesem Stadium arbeiten wir nicht über das Internet. – Darren

Verwandte Themen