Hallo zusammen,
ich bin gerade dabei mir eine Systemarchitektur für eine Webanwendung zu überlegen. Dabei stoße ich auf die Frage, ob es sinnvoll ist einen "echten" ApplicationServer einzusetzen (wie JBoss, Geronimo/WAS CE, Glassfish) oder ob ein "einfacher" Tomcat ausreicht.
Ich versuche mal kurz die Anwendung zu umreißen, damit man ein Bild von den Anforderungen bekommt.
Die Anwendung wird zentral auf einem Server (oder vermutlich eher auf einer Server-Farm) laufen und von schätzungsweise 10.000 Clients genutzt, wobei wir von ungefähr 1.000.000 Anfragen pro Tag ausgehen. Die Anfragen werden alle lesend sein, schreibende Zugriff werden sehr selten (ca. 10/Tag) erfolgen.
Die Anwendung soll mit Spring/Hibernate implementiert werden.
Die Anwendung ist technologisch nicht besonders anspruchsvoll; der Anspruch besteht eher darin, dass relativ hohe Zugriffszahlen erreicht werden und dabei sehr gute Anwortzeiten notwendig sind.
Ich gehe also davon aus, dass wir serverseitig einen Cluster aufbauen werden und vermutlich auch einen Datenbank-Cluster (was relativ gut skalieren müsste, da zu 99% Lesezugriffe erfolgen werden). Die Frage ist nun, ob wir für die Cluster-Lösung (oder aus anderen Gründen) auf einen "echten" ApplicationServer setzen sollten/müssen oder ob für die Anforderungen auch Tomcat ausreicht.
Tomcat ist ja sogar performanter als alle echten AppServer. Was mich stutzig macht ist, dass es z.B. hier (http://www.javaworld.com/javaworld/jw-12-2007/jw-12-appservers.html?page=1) heißt, dass Tomcat nur bedingt clusterfähig ist. Dabei ist mir bisher aber noch nicht klar geworden, wo denn nun die Grenzen liegen.
Für ein bisschen Untersützung wäre ich daher sehr dankbar.
Gruß,
Ole
ich bin gerade dabei mir eine Systemarchitektur für eine Webanwendung zu überlegen. Dabei stoße ich auf die Frage, ob es sinnvoll ist einen "echten" ApplicationServer einzusetzen (wie JBoss, Geronimo/WAS CE, Glassfish) oder ob ein "einfacher" Tomcat ausreicht.
Ich versuche mal kurz die Anwendung zu umreißen, damit man ein Bild von den Anforderungen bekommt.
Die Anwendung wird zentral auf einem Server (oder vermutlich eher auf einer Server-Farm) laufen und von schätzungsweise 10.000 Clients genutzt, wobei wir von ungefähr 1.000.000 Anfragen pro Tag ausgehen. Die Anfragen werden alle lesend sein, schreibende Zugriff werden sehr selten (ca. 10/Tag) erfolgen.
Die Anwendung soll mit Spring/Hibernate implementiert werden.
Die Anwendung ist technologisch nicht besonders anspruchsvoll; der Anspruch besteht eher darin, dass relativ hohe Zugriffszahlen erreicht werden und dabei sehr gute Anwortzeiten notwendig sind.
Ich gehe also davon aus, dass wir serverseitig einen Cluster aufbauen werden und vermutlich auch einen Datenbank-Cluster (was relativ gut skalieren müsste, da zu 99% Lesezugriffe erfolgen werden). Die Frage ist nun, ob wir für die Cluster-Lösung (oder aus anderen Gründen) auf einen "echten" ApplicationServer setzen sollten/müssen oder ob für die Anforderungen auch Tomcat ausreicht.
Tomcat ist ja sogar performanter als alle echten AppServer. Was mich stutzig macht ist, dass es z.B. hier (http://www.javaworld.com/javaworld/jw-12-2007/jw-12-appservers.html?page=1) heißt, dass Tomcat nur bedingt clusterfähig ist. Dabei ist mir bisher aber noch nicht klar geworden, wo denn nun die Grenzen liegen.
Für ein bisschen Untersützung wäre ich daher sehr dankbar.
Gruß,
Ole