Frage zur Skalierbarkeit (für Fortgeschrittene)
-
- User
- Beiträge: 188
- Registriert: Donnerstag 20. Juli 2006, 20:46
- Wohnort: Wien
- Kontaktdaten:
wenn du eine lösung kennst, warum hast du sie noch nicht implementiert?
lgherby
lgherby
Ich würde prinzipiell das Pollens anzweifeln. Statt das jeder Client periodisch nachfragt, ob sich etwas getan hat, sollten sie nur informiert werden, wenn wirklich etwas passiert ist. Das reduziert IMHO stärker die Last auf dem System als Versuche, SQL-Queries zu cachen.
HTTP ist leider keine gute Basis für derartige Events. Unter dem Stichwort COMET werden entsprechende Workarounds zusammengefasst. Eine Alternative ist das AMF-basierte Remote-Objekt-Protokoll von Flash. Der Server dazu ist mitlerweile quelloffen, allerdings ein Java-Programm.
Dieses Vorgehen macht allerdings die 1-Request-Share-Nothing datenbank-zentrische Programmierung unmöglich und dauerhaft laufende Server machen die Entwicklung deutlich einfacher. Vielleicht habe ich zu lange Java gemacht, doch das würde ich hier eher in Erwägung ziehenals PHP oder Python. Möglicherweise wäre Jython eine gute Wahl, um Spiellogik zu scripten.
Ich fände auch spannend mal zu prüfen, wie ein klassisches Setup mit Django und FastCGI oder Modpython plus Apache gegen Jython mit modjy auf einem Glassfish-Server so besteht. Allerdings würde diese Architektur wieder die klassische 1-RSN-Situation simulieren.
Stefan
HTTP ist leider keine gute Basis für derartige Events. Unter dem Stichwort COMET werden entsprechende Workarounds zusammengefasst. Eine Alternative ist das AMF-basierte Remote-Objekt-Protokoll von Flash. Der Server dazu ist mitlerweile quelloffen, allerdings ein Java-Programm.
Dieses Vorgehen macht allerdings die 1-Request-Share-Nothing datenbank-zentrische Programmierung unmöglich und dauerhaft laufende Server machen die Entwicklung deutlich einfacher. Vielleicht habe ich zu lange Java gemacht, doch das würde ich hier eher in Erwägung ziehenals PHP oder Python. Möglicherweise wäre Jython eine gute Wahl, um Spiellogik zu scripten.
Ich fände auch spannend mal zu prüfen, wie ein klassisches Setup mit Django und FastCGI oder Modpython plus Apache gegen Jython mit modjy auf einem Glassfish-Server so besteht. Allerdings würde diese Architektur wieder die klassische 1-RSN-Situation simulieren.
Stefan
Erstmal danke für die ganzen Tipps.sma hat geschrieben:Ich würde prinzipiell das Pollens anzweifeln. Statt das jeder Client periodisch nachfragt, ob sich etwas getan hat, sollten sie nur informiert werden, wenn wirklich etwas passiert ist. Das reduziert IMHO stärker die Last auf dem System als Versuche, SQL-Queries zu cachen.
Die rechnung bezog sich ja auch nur auf einen kleinenteil der seiteY0Gi hat geschrieben:2500 Zeilen pro Sekunde sollten nun wirklich kein Problem für ein DBMS sein, behaupte ich mal frech.