Nun, das ganze muss so robust sein, dass man ständig die Verbindung neu aufbauen kann. (Ist ansonsten so wie ein Backup Recovery das man nie getestet hat...).
Wenn das stabil ist, dann kann man aus Performance-Sicht die Zeiten natürlich bei SSE stark aufweiten.
Beim Long-Pollinng hat man typischer Weise einen 300 Sekunden Time-Out auf der Server-Seite. Daher macht der Client vorher (aktuell 60 Sekunden) proaktiv ein Reconnect. Die Zeit ist schon sehr lange drinnen, da sich bisher niemand daran gestört hat, auch wenn z.B. 400 Sekunden sicher auch funktioniert.
Wenn beim SSE die Verbindung als dauerhaft offen spezifiziert ist und kein Server-Timeout die Verbindung schließt, dann können die 60 Sekunden für den maxConnectionAge natürlich weit geöffnet werden.
Der maxDataAge hat einen anderen Hintergrund: wenn ich die Daten neu lade und eine lange Zeit war da zwischen (z.B. weil der Browser schlafen war), dann kann es sein, dass die Updates seit dem letzten Index nicht mehr reichen - es könnte ja ein Überlauf des Index passiert sein. Daher muss die Zeit hier so eingestellt sein, dass auch unter Worst-Case Bedingungen einer "Index-Kollision" zuvor gekommen wird.
Wenn das stabil ist, dann kann man aus Performance-Sicht die Zeiten natürlich bei SSE stark aufweiten.
Beim Long-Pollinng hat man typischer Weise einen 300 Sekunden Time-Out auf der Server-Seite. Daher macht der Client vorher (aktuell 60 Sekunden) proaktiv ein Reconnect. Die Zeit ist schon sehr lange drinnen, da sich bisher niemand daran gestört hat, auch wenn z.B. 400 Sekunden sicher auch funktioniert.
Wenn beim SSE die Verbindung als dauerhaft offen spezifiziert ist und kein Server-Timeout die Verbindung schließt, dann können die 60 Sekunden für den maxConnectionAge natürlich weit geöffnet werden.
Der maxDataAge hat einen anderen Hintergrund: wenn ich die Daten neu lade und eine lange Zeit war da zwischen (z.B. weil der Browser schlafen war), dann kann es sein, dass die Updates seit dem letzten Index nicht mehr reichen - es könnte ja ein Überlauf des Index passiert sein. Daher muss die Zeit hier so eingestellt sein, dass auch unter Worst-Case Bedingungen einer "Index-Kollision" zuvor gekommen wird.
Kommentar