Möchten Sie, dass der Prozess Client- oder Server-gesteuert wird? Mit anderen Worten: Möchten Sie neue Daten an die Clients senden, sobald sie verfügbar sind, oder möchten Sie, dass die Clients neue Daten anfordern, wenn sie dies für richtig halten, obwohl dies möglicherweise nicht einmal pro Sekunde erfolgt? Was ist die Wahrscheinlichkeit, dass der Kunde in der Lage sein wird, auf eine Antwort zu warten? Auch wenn Sie erwarten, dass die Ereignisse einmal pro Sekunde auftreten, wie lange dauert es zwischen einer Anforderung von einem Client und der Rückkehr vom Server? Wenn es länger als eine Sekunde dauert, würde ich erwarten, dass Sie sich darauf konzentrieren, die Ereignisse an die Kunden zu schicken, obwohl ich umgekehrt erwarten würde, dass die Abstimmung in Ordnung ist. Wenn die Antwort länger als das Intervall dauert, streamen Sie im Grunde trotzdem, da ein neues Ereignis bereitsteht, wenn der Client das letzte empfängt, sodass der Client im Wesentlichen ständig abfragen und immer Ereignisse empfangen kann - in diesem Fall Streaming Die Daten wären tatsächlich leichter, da Sie den Verbindungs-/Verhandlungsaufwand aus dem Prozess entfernen.
Ich würde vermuten, dass die Serverlast für ein Client-basiertes (Pull-) Abonnement höher ist als für eine Streaming-Konfiguration, da der Client die Verbindung jedes Mal neu verhandeln muss, anstatt eine Verbindung offen zu lassen. Jede offene Verbindung in einem Streaming-Modell würde jedoch auch Serverressourcen erfordern. Es hängt davon ab, wie der Kompromiss zwischen der Aggressivität Ihres Verhandlungsprozesses und der Menge an Speicher/Verarbeitung ist, die für jede offene Verbindung erforderlich ist. Ich bin jedoch kein Experte, also kann es andere Faktoren geben.
UPDATE: This guy spricht über die Kompromisse zwischen Long-Polling und Streaming, und er scheint zu sagen, dass mit HTTP/1.1 der Verbindung Neuverhandlung ist trivial, so dass das nicht so ein Problem ist.
Hey rwmnau, der Link, den du zur Verfügung gestellt hast, ist erhellend. Um Ihre Fragen zu beantworten, möchte ich Daten an die Benutzer weitergeben, sobald sie verfügbar sind. – jcee14
Wenn Sie versuchen, Daten so schnell wie möglich an die Benutzer zu senden, dann denke ich, dass die Wahl streamen muss, da dies eine Push-basierte Verbindung aufrechterhält. Mit einem Pull-Setup warten Sie darauf, dass die Kunden fragen, aber mit Push erhalten sie die Daten, sobald Sie sie ihnen geben. Lass mich wissen, was du am Ende kommst und warum! – SqlRyan