Heim > Artikel > Betrieb und Instandhaltung > Warum Fastdfs mit Nginx kombiniert werden muss
FastDFS ist ein verteiltes Open-Source-Dateisystem, das Dateien verwaltet: Dateispeicherung, Dateisynchronisierung, Dateizugriff (Datei-Upload, Datei-Download) usw. und löst die Probleme der Speicherung mit großer Kapazität und des Lastausgleichs. Es eignet sich besonders für dateibasierte Online-Dienste wie Fotoalbum-Websites, Video-Websites usw.
Wenn wir FastDFS zum Bereitstellen eines verteilten Dateisystems verwenden, verwenden wir die FastDFS-Client-API zum Hochladen, Herunterladen, Löschen von Dateien usw. Gleichzeitig werden HTTP-Dienste über den FastDFS-HTTP-Server bereitgestellt. Der HTTP-Dienst von FastDFS ist jedoch relativ einfach und kann keine leistungsstarken Dienste wie Lastausgleich bereitstellen. Daher stellt uns der Entwickler von FastDFS, der Taobao-Architekt Yu Qing, das auf Nginx verwendete FastDFS-Modul zur Verfügung (das auch als Nginx bezeichnet werden kann). des FastDFS-Moduls). Seine Verwendung ist sehr einfach.
FastDFS verwendet den Tracker-Server zum Speichern von Dateien auf dem Speicherserver, aber Server in derselben Gruppe müssen Dateien kopieren, was zu Verzögerungen führt. Gehen Sie davon aus, dass der Tracker-Server die Datei auf 192.168.1.80 hochlädt. und die Datei Die ID wurde an den Client zurückgegeben. Zu diesem Zeitpunkt kopiert der Hintergrund die Datei nach 192.168.1.30. Wenn der Kopiervorgang nicht abgeschlossen ist, verwendet der Client diese ID, um die Datei an 192.168.1.30 abzurufen Es wird auf jeden Fall ein Fehler auftreten. Dieses Fastdfs-Nginx-Modul kann die Verbindung zum Quellserver umleiten, um Dateien abzurufen, wodurch Clientfehler aufgrund von Replikationsverzögerungen vermieden werden.
Der FastDFS-Server hat zwei Rollen: Tracker und Speicherknoten. Der Tracker übernimmt hauptsächlich die Planungsarbeit und spielt eine Rolle beim Lastausgleich beim Zugriff.
Der Speicherknoten speichert Dateien und übernimmt alle Funktionen der Dateiverwaltung: Speicherung, Synchronisierung und Bereitstellung von Zugriffsschnittstellen. FastDFS verwaltet auch die Metadaten der Dateien. Die sogenannten Metadaten einer Datei sind die relevanten Attribute der Datei, ausgedrückt in Form von Schlüssel-Wert-Paaren, wie zum Beispiel: Breite = 1024, wobei der Schlüssel die Breite und der Wert 1024 ist. Dateimetadaten sind eine Liste von Dateiattributen und können mehrere Schlüssel-Wert-Paare enthalten.
FastDFS-Prinzip
Speicherknoten verfolgen einen Gruppenansatz. Ein Speichersystem besteht aus einer oder mehreren Gruppen. Dateien zwischen Gruppen sind unabhängig voneinander. Die Summe der Dateikapazitäten aller Gruppen ergibt die Dateikapazität des gesamten Speichersystems. Eine Gruppe kann aus einem oder mehreren Speicherservern bestehen. Die Dateien in den Speicherservern einer Gruppe sind alle gleich. Mehrere Speicherserver in der Gruppe spielen die Rolle der redundanten Sicherung und des Lastausgleichs (die Speicherkapazität einer Gruppe). Der Speicherserver mit der kleinsten Kapazität in der Gruppe kommuniziert nicht miteinander, die Speicherserver in derselben Gruppe verbinden sich jedoch zur Dateisynchronisierung miteinander.
Beim Hinzufügen eines Servers zu einer Gruppe synchronisiert das System automatisch vorhandene Dateien. Nach Abschluss der Synchronisierung schaltet das System automatisch auf den neu hinzugefügten Server um, um Online-Dienste bereitzustellen.
Wenn der Speicherplatz nicht ausreicht oder bald erschöpft ist, können Gruppen dynamisch hinzugefügt werden. Fügen Sie einfach einen oder mehrere Server hinzu, konfigurieren Sie diese als neue Gruppe und erweitern Sie so die Kapazität des Speichersystems.
FastDFS hat nur zwei Rollen: Tracker-Server und Speicherserver. Als zentraler Knoten besteht die Hauptfunktion des Tracker-Servers in der Lastverteilung und Planung. Der Tracker-Server zeichnet Informationen wie Gruppierung und Speicherserverstatus im Speicher auf. Er zeichnet keine Dateiindexinformationen auf und belegt nur sehr wenig Speicher. Wenn der Client (Anwendung) und der Speicherserver außerdem auf den Tracker-Server zugreifen, scannt der Tracker-Server die Gruppen- und Speicherserverinformationen im Speicher und gibt dann eine Antwort. Daraus ist ersichtlich, dass der Tracker-Server sehr leichtgewichtig ist und nicht zu einem Systemengpass wird.
Der Speicherserver in FastDFS wird in anderen Dateisystemen normalerweise als Trunk-Server oder Datenserver bezeichnet. Der Speicherserver verwendet direkt das Dateisystem des Betriebssystems zum Speichern von Dateien. FastDFS speichert Dateien nicht in Blöcken. Die vom Client hochgeladenen Dateien entsprechen eins zu eins den Dateien auf dem Speicherserver (die Dateiidentifikation in FastDFS ist in zwei Teile unterteilt: den Gruppennamen und den Dateinamen). sind unverzichtbar)
Weitere technische Artikel zum Thema Nginx finden Sie in der Spalte Tutorials zur Nginx-Nutzung, um mehr zu erfahren!
Das obige ist der detaillierte Inhalt vonWarum Fastdfs mit Nginx kombiniert werden muss. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!