Gast
2011-12-19, 18:08:57
Hallo!
Ich frage mich, wie man ein client/Server Konzept umsetzt, bei welchem der Server JSON-Objekte "live" an seine Clients schickt.
Details:
Server erzeugt im Mittel 60 mal pro Minute ein JSON-Objekt. Mal sind es während 15 Sekunden 0 Objekte, mal während 2 Sekunden 5 Objekte. Im Mittel eben 60/s.
solch ein Objekt ist ca. 400 Bytes gross
es handelt sich um eine Webanwendung, der Client läuft also im Webbrowser. Hier wäre im wesentlichen Javascript verfügbar, bei Bedarf aber auch WebSockets (!)
Aus letztem Punkt folgt, dass es mir egal ist ob Polling oder ein Push-Mechanismus zum Einsatz kommt. Letzterer wäre sicher besser bezüglich Performance (siehe unten)
"live" bedeutet hier, dass schon um die 10 Sekunden Verzögerung eintreten darf (also Zwischen der Generierung des Objekts auf dem Server und dem Anzeigen auf den Clients), die chronologische Einhaltung der Reihenfolge ist aber Pflicht
Der kritische Punkt: es sollen mit einem Server so viele Clients wie nur möglich bedient werden. Keine genaue Angabe, einfach nur so viel wie möglich. Servertechnologie ist egal, aber ich wäre sehr froh, wenn es kein C/++ wäre, auch wenn man so vielleicht am meisten herausholen könnte
Falls das irgendetwas bringen würde, könnte man JSON auch durch irgendetwas binäres tauschen - wobei das JSON in meinem Fall schon sehr entschlackt ist, möglichst wenig Daten enthält, von Steuerzeichen befreit wurde etc.
Kommunikation ist im wesentlichen unidirektional, der Client sendet nur ab und zu Steuerbefehle
Was ich suche ist a) generelle Meinungen zur Umsetzung und b) Technologien dafür. Könnte man da mit Node.js und Websockets einen guten Durchsatz erreichen oder das Vorhaben überhaupt realisieren?
Danke
Ich frage mich, wie man ein client/Server Konzept umsetzt, bei welchem der Server JSON-Objekte "live" an seine Clients schickt.
Details:
Server erzeugt im Mittel 60 mal pro Minute ein JSON-Objekt. Mal sind es während 15 Sekunden 0 Objekte, mal während 2 Sekunden 5 Objekte. Im Mittel eben 60/s.
solch ein Objekt ist ca. 400 Bytes gross
es handelt sich um eine Webanwendung, der Client läuft also im Webbrowser. Hier wäre im wesentlichen Javascript verfügbar, bei Bedarf aber auch WebSockets (!)
Aus letztem Punkt folgt, dass es mir egal ist ob Polling oder ein Push-Mechanismus zum Einsatz kommt. Letzterer wäre sicher besser bezüglich Performance (siehe unten)
"live" bedeutet hier, dass schon um die 10 Sekunden Verzögerung eintreten darf (also Zwischen der Generierung des Objekts auf dem Server und dem Anzeigen auf den Clients), die chronologische Einhaltung der Reihenfolge ist aber Pflicht
Der kritische Punkt: es sollen mit einem Server so viele Clients wie nur möglich bedient werden. Keine genaue Angabe, einfach nur so viel wie möglich. Servertechnologie ist egal, aber ich wäre sehr froh, wenn es kein C/++ wäre, auch wenn man so vielleicht am meisten herausholen könnte
Falls das irgendetwas bringen würde, könnte man JSON auch durch irgendetwas binäres tauschen - wobei das JSON in meinem Fall schon sehr entschlackt ist, möglichst wenig Daten enthält, von Steuerzeichen befreit wurde etc.
Kommunikation ist im wesentlichen unidirektional, der Client sendet nur ab und zu Steuerbefehle
Was ich suche ist a) generelle Meinungen zur Umsetzung und b) Technologien dafür. Könnte man da mit Node.js und Websockets einen guten Durchsatz erreichen oder das Vorhaben überhaupt realisieren?
Danke