Ich hatte vorhin ein interessantes Gespräch mit einem Coder. Dieser versucht derzeit, ein Portal hochzuziehen und damit in Zukunft sein Geld zu verdienen. Das Portal ist auch soweit in den Grundzügen „fertig“ und eigentlich kann es losgehen. Promotion wird bereits betrieben und Geldgeber sind vielleicht auch im Anmarsch. Also kann es ja eigentlich losgehen. Eigentlich.
Allerdings ist man überhaupt nicht darauf vorbereitet, von den Usern überrannt zu werden. Es gibt ein paar Kleinigkeiten, die auf jeden Fall bedacht werden muessen. Die Liste hat übrigens keinen Anspruch auf Vollständigkeit und Richtigkeit, sondern das sind einfach so meine Erfahrungen.
wieviele Web-Server brauche ich am Anfang, um ca. 1.000 Besucher gleichzeitig abzufrühstücken - diese Zahl der Server wächst später natürlich stetig
wie verteile ich diese User auf all diese Server - die Last muss per LoadBalancing verteilt werden
wo speichere ich die Sessions der Besucher zentral - alle Webserver sollten in der Lage sein, jeden Besucher zu bedienen, ohne dass auf jedem ein neuer Login gemacht werden muss
muss ich cachen - die Antwort lautet immer „JA“
was muss ich cachen - cache ich nur die Ausgabe, weil das eh für alle User gleich ist oder cache ich auch Datenobjekte, damit diese nicht bei jedem F5 im Browser einen fiesen JOIN auf mehrere Tabellen machen müssen
wie muss ich cachen - am Besten nicht auf der Festplatte, sondern im Arbeitsspeicher; keinesfalls in einer Datenbank, weil man sich das Caching sonst nämlich fast sparen könnte
muss ich etwas berechnen - wenn man größere Datenmengen berechnen möchte, sollte man darüber nachdenken, ob man Computeserver benötigt; dies geht meistens mit Queueing einher, um das Computing gut zu verteilen
kann mein Datenspeicher skalieren - nicht jede Datenbank kann wirklich gut skalieren; man muss sich halt je nach den zu erwartenden Userzahlen richten, welches System man benutzt, sollte aber auch etwas weiter rechnen, da Migrationen nicht immer so problemlos sind, wie man gerne glaubt
ist meine Serverinstallation skalierbar - wenn man jeden Server einzeln installieren muss und sei es selbst anhand einer Step-by-Step-Anleitung, ist dies für eine schnelle Expansion untragbar, wenn man nur mal an 10 Server denkt; alle werden unterschiedlich sein, weil man irgendwas übersprungen, vergessen oder anders gemacht hat; lieber Installationsscripte und Packages für alle Komponenten, dies macht die Softwarewartung deutlich einfacher
Ich denke, ich werde diese Liste in Zukunft vielleicht noch etwas erweitern.
Hier gibt es keinen Kommentarbereich. Hast du etwas zu kommentieren? Dann blogge einfach selbst. Oder schreib darüber mit deinem Kommentar in einem sozialen Netzwerk deiner Wahl.