Verteiltes Caching auf dem Weg zur Skalierbarkeit

Von Iqbal Khan

Wenn Sie eine ASP.NET-Anwendung, Webdienste oder eine High-Performance-Computing-Anwendung (HPC) entwickeln, werden Sie wahrscheinlich auf erhebliche Skalierbarkeitsprobleme stoßen, wenn Sie versuchen, Ihre Anwendung zu skalieren und stärker zu belasten. Bei einer ASP.NET-Anwendung kommt es zu Engpässen in zwei Datenspeichern. Das erste sind die Anwendungsdaten, die sich in der Datenbank befinden, und das andere sind ASP.NET-Sitzungsstatusdaten, die normalerweise in einem von drei von Microsoft bereitgestellten Modi (InProc, StateServer oder SqlServer) gespeichert werden. Alle drei haben große Skalierbarkeitsprobleme.

Webdienste verwenden normalerweise keinen Sitzungsstatus, weisen jedoch Skalierbarkeitsengpässe auf, wenn es um Anwendungsdaten geht. Genau wie ASP.NET-Anwendungen können Webdienste in IIS gehostet und zur Skalierbarkeit in einer Webfarm bereitgestellt werden.

HPC-Anwendungen, die für eine massive Parallelverarbeitung ausgelegt sind, weisen ebenfalls Skalierbarkeitsprobleme auf, da der Datenspeicher nicht auf die gleiche Weise skaliert. Beim HPC (auch Grid Computing genannt) kommt traditionell Java zum Einsatz, aber da .NET Marktanteile gewinnt, wird es auch für HPC-Anwendungen immer beliebter. HPC-Anwendungen werden auf Hunderten und manchmal Tausenden von Computern zur Parallelverarbeitung bereitgestellt und müssen häufig mit großen Datenmengen arbeiten und Zwischenergebnisse mit anderen Computern teilen. HPC-Anwendungen nutzen eine Datenbank oder ein gemeinsames Dateisystem als Datenspeicher, und beide lassen sich nicht sehr gut skalieren.

Den ganzen Artikel lesen

Verteiltes Caching

Caching ist ein bekanntes Konzept sowohl in der Hardware- als auch in der Softwarewelt. Traditionell war Caching ein eigenständiger Mechanismus, der jedoch in den meisten Umgebungen nicht mehr praktikabel ist, da Anwendungen jetzt auf mehreren Servern und in mehreren Prozessen auf jedem Server ausgeführt werden.

Beim verteilten In-Memory-Caching handelt es sich um eine Form des Cachings, die es ermöglicht, dass sich der Cache über mehrere Server erstreckt, sodass er an Größe und Transaktionskapazität wachsen kann. Verteiltes Caching ist mittlerweile aus mehreren Gründen möglich. Erstens ist Speicher sehr billig geworden, und man kann Computer zu Schnäppchenpreisen mit vielen Gigabyte vollstopfen. Zweitens sind Netzwerkkarten sehr schnell geworden, wobei 1 Gbit mittlerweile überall Standard ist und 10 Gbit auf dem Vormarsch sind. Schließlich funktioniert verteiltes Caching im Gegensatz zu einem Datenbankserver, der normalerweise eine High-End-Maschine erfordert, gut auf kostengünstigeren Maschinen (wie sie für Webserver verwendet werden), sodass Sie problemlos weitere Maschinen hinzufügen können.

Den ganzen Artikel lesen
© Copyright Alachisoft 2002 - Alle Rechte vorbehalten NCache ist eine eingetragene Marke der Diyatech Corp.