2009-07-22 8 views
4

In meinem aktuellen Projekt müssen wir eine Website (ASP.NET MVC) erstellen, die eine ausreichende Auslastung haben, um eine Serverfarm zu verlangen. Ich verstehe, dass bei Verwendung der Serverfarm Sitzungsstatus an einer anderen Stelle wie SQL Server-Datenbank oder Statusserver gespeichert werden müssen.So vermeiden Sie Single-Point-of-Failure bei Verwendung von State Server in ASP.NET-Website

Nach einigen Experimenten neigen wir dazu, den Status-Server-Mechanismus zu verwenden, aber die Tatsache, dass es einen einzigen Fehlerpunkt hat, macht mich nervös. Gibt es eine Methode, mit der wir "Single-Point-of-Failure" vermeiden können, wenn State Server verwendet wird?

Antwort

5

Es gibt etwas namens session state partitioning, das Sie verwenden könnten, um eine single point of failure zu vermeiden. Wenn Ihnen das immer noch nicht passt, sollten Sie das Projekt ASP.NET Velocity ausprobieren, das vielversprechend aussieht, obwohl es nur in der CTP-Phase ist.

Wenn Sie vollständige Skalierbarkeit und Redundanz wünschen, sollten Sie wahrscheinlich einen SQL Server-Cluster verwenden.

+2

Ich sehe nicht, wie die Partitionierung des Sitzungsstatus den Single Point of Failure vermeidet. Alles, was es tut, ist, mehrere Statusserver zu haben und sicherzustellen, dass eine gegebene Typ-ID immer auf demselben Server beibehalten wird, aber wenn dieser Server fehlschlägt, geht die Sitzung verloren. Dies könnte jedoch nützlich sein, um einen einzelnen Statusserver zu entladen. –

+0

Eine andere Implementierung (http://en.aspnet-bhs.info/post/State-Server-Partitioning.aspx), die auf dem in der Antwort angegebenen Link basiert, behebt die Probleme des Zustandsserverfehlers. – Hemant

+0

Zumindest, wenn ein Server ausfällt, wäre der Rest oben. Velocity soll aber einen Failover-Mechanismus haben. –

-2

Sie können die SQL Server-Replikation auf einem anderen Computer einrichten oder failover cluster verwenden. Dies könnte möglicherweise teuer sein, würde aber Ihre Datenbankkomponente robuster machen.

Technisch Ihr Web-Server Geräteraum ist ein Single Point of Failure, sowie Ihr Netzwerk, etc. ich nicht unbedingt nervöser als irgendwelche von denen über den Sitzungszustand sein würde.

+0

Ich verstehe nicht! Ich glaube, ASP.NET State Server verwendet SQL Server nicht. Dann, wie kann SQL Server Failover Cluster mir helfen? Aber ich nehme zur Kenntnis, dass "Netzwerk auch Single Point of Failure" ist, was wirklich ein gültiger Punkt ist. – Hemant

+0

Whups, ich habe Ihre Frage komplett falsch gelesen, ich dachte, Sie sagten, Sie würden mit SQL Server, nicht State Server gehen .... Ich werde wahrscheinlich diese Antwort löschen;) – womp

+0

Ich schätze den zweiten Punkt (siehe andere Aspekte von Single Point von Fehler) so kann bearbeiten, aber löschen Sie nicht die Antwort. – Hemant

Verwandte Themen