2009-08-21 2 views
0

Der Dateisystemteil unseres asp.net-Anwendungsframeworks muss aktualisiert werden, damit er in unseren SaaS/Multi-Tenancy-Ansatz und insbesondere in Bezug auf die Skalierung integriert wird.ASP.NET SaaS-Anwendungsdateispeicher: Laufwerkbuchstabenpfade oder UNC-Pfade

Unser aktuelles Dateisystem speichert Dateien auf der Festplatte in separaten Ordnern für jeden Mandanten.

dh: X: \ FilesFolder \ ApplicationInstance \ TenantA usw. wo die Mandanten Namen und Dateinamen sind Guids. Wir haben einen HttpHandler, der Dateien abruft und alle Pfade und Namen auflöst und die ursprünglichen Dateinamen usw. zurückgibt. Wir speichern den Wurzelpfad für jeden Mandanten, dh: X: \ FilesFolder \ ApplicationInstance \ auf der Grundlage, dass wir sie irgendwann verschieben können und zu verschiedenen Orten, falls erforderlich.

In Bezug auf die Skalierung dieses Systems habe ich einige Fragen ... (bitte entschuldigen Sie meine Ignoranz für die Hardware/Windows-Infrastruktur, und meine Fragen betreffen mehr die Implementierung des Updates für unseren Dateisystemcode)

1) Es scheint offensichtlich, dass alle Dateien auf einem NAS-Gerät gespeichert werden sollten?

2) Wenn wir ein NAS-Gerät hinzufügen und eine Serverfarm erstellen, müssen wir dann Domänencontroller starten? und wie bezieht sich dieser Effekt auf Pfade?

Edit: Fand heraus, dass Domains sind nicht für Serverfarmen erforderlich, die groß ist, immer noch nicht sicher, wie diese Effekte nutzbaren Wege etc

3) Sollten wir Laufwerksbuchstaben Pfade werden (kartiert Laufwerke) oder UNC-Pfade?

4) Gibt es einen Leistungseinbruch UNC in Referenzierung statt Namen Laufwerksbuchstaben (auch in der gleichen Maschine)

5) Welche Probleme mit Berechtigungen können wir erwarten, und wie wirkt sich dieser Effekt auf einer Domäne ausgeführt wird oder nicht?

Edit: eine Domäne würde Berechtigungen einfacher machen, aber immer noch nicht, noch wissen, was die Unterschiede sind.

Alle Kommentare zu diesem Ansatz, Best Practices oder einem besseren Ansatz geschätzt.

Dank

Antwort

2

Was sollten Sie tun, abstrakt ist Ihr Speicher Code, so dass der Weg nur eine Implementierung Detail. Auf diese Weise können Sie die Pfadarchitektur vollständig ändern, wie es für Ihre Speichertechnologie erforderlich ist.

+0

Ich denke, wir haben dies mit dem HttpHandler getan und müsste nur das eigentliche Lesen/Streaming der Datei von der Festplatte durch absoluten Pfad oder UNC durch Konfiguration aktivieren. –

+0

Nun, nein, das habe ich nicht gesagt. Ich sagte abstrakt den Dateizugriff weg. –

+0

ok, dann nicht sicher, was du sagst? –

Verwandte Themen