FastDFS est un système de fichiers distribué open source qui gère les fichiers. Ses fonctions incluent : le stockage de fichiers, la synchronisation de fichiers, l'accès aux fichiers (téléchargement de fichiers, téléchargement de fichiers), etc., résolvant les problèmes de stockage de grande capacité et d'équilibrage de charge. Il est particulièrement adapté aux services en ligne basés sur des fichiers, tels que les sites Web d'albums photos, les sites Web de vidéos, etc.
Lorsque nous utilisons FastDFS pour déployer un système de fichiers distribué, nous utilisons l'API client FastDFS pour télécharger, télécharger, supprimer des fichiers, etc. Dans le même temps, les services HTTP sont fournis via le serveur HTTP FastDFS. Cependant, le service HTTP de FastDFS est relativement simple et ne peut pas fournir des services performants tels que l'équilibrage de charge. C'est pourquoi le développeur de FastDFS, l'architecte Taobao Yu Qing, nous fournit le module FastDFS utilisé sur Nginx (qui peut également être appelé Nginx). de FastDFS). Son utilisation est très simple.
FastDFS utilise le serveur Tracker pour stocker les fichiers sur le serveur de stockage, mais les serveurs du même groupe doivent copier les fichiers, ce qui entraîne des retards. Supposons que le serveur Tracker télécharge le fichier sur 192.168.1.80, et le fichier L'ID a été renvoyé au client. À ce moment, l'arrière-plan copiera le fichier vers 192.168.1.30. Si la copie n'est pas terminée, le client utilisera cet ID pour récupérer le fichier sur 192.168.1.30. une erreur se produira certainement. Ce module fastdfs-nginx peut rediriger la connexion vers le serveur source pour récupérer les fichiers, évitant ainsi les erreurs client dues aux retards de réplication.
Le serveur FastDFS a deux rôles : tracker et nœud de stockage. Le tracker effectue principalement un travail de planification et joue un rôle d'équilibrage de charge dans l'accès.
Le nœud de stockage stocke les fichiers et remplit toutes les fonctions de gestion de fichiers : stockage, synchronisation et fourniture d'interfaces d'accès. FastDFS gère également les métadonnées des fichiers. Les soi-disant métadonnées d'un fichier sont les attributs pertinents du fichier, exprimés sous la forme de paires clé-valeur, telles que : width=1024, où la clé est la largeur et la valeur est 1024. Les métadonnées de fichier sont une liste d’attributs de fichier et peuvent contenir plusieurs paires clé-valeur.
Principe FastDFS
Les nœuds de stockage adoptent une approche de groupe. Un système de stockage se compose d'un ou plusieurs groupes. Les fichiers entre les groupes sont indépendants les uns des autres. La somme des capacités de fichiers de tous les groupes correspond à la capacité de fichiers de l'ensemble du système de stockage. Un groupe peut être composé d'un ou plusieurs serveurs de stockage. Les fichiers des serveurs de stockage d'un groupe sont tous identiques. Plusieurs serveurs de stockage du groupe jouent le rôle de sauvegarde redondante et d'équilibrage de charge (la capacité de stockage d'un groupe). le serveur de stockage ayant la plus petite capacité du groupe. Les serveurs de stockage des différents groupes ne communiqueront pas entre eux, mais les serveurs de stockage du même groupe se connecteront les uns aux autres pour la synchronisation des fichiers).
Lors de l'ajout d'un serveur à un groupe, le système synchronisera automatiquement les fichiers existants. Une fois la synchronisation terminée, le système basculera automatiquement sur le serveur nouvellement ajouté pour fournir des services en ligne.
Lorsque l'espace de stockage est insuffisant ou sur le point d'être épuisé, des groupes peuvent être ajoutés dynamiquement. Ajoutez simplement un ou plusieurs serveurs et configurez-les comme un nouveau groupe, augmentant ainsi la capacité du système de stockage.
FastDFS n'a que deux rôles : serveur de suivi et serveur de stockage. En tant que nœud central, la fonction principale du serveur Tracker est l'équilibrage de charge et la planification. Le serveur Tracker enregistre des informations telles que le regroupement et l'état du serveur de stockage dans la mémoire. Il n'enregistre pas les informations d'index de fichier et occupe très peu de mémoire. De plus, lorsque le client (application) et le serveur de stockage accèdent au serveur Tracker, le serveur Tracker analyse les informations du groupe et du serveur de stockage dans la mémoire, puis donne une réponse. Il ressort de cela que le serveur Tracker est très léger et ne deviendra pas un goulot d'étranglement du système.
Le serveur de stockage dans FastDFS est généralement appelé serveur Trunk ou serveur de données dans d'autres systèmes de fichiers. Le serveur de stockage utilise directement le système de fichiers du système d'exploitation pour stocker les fichiers. FastDFS ne stocke pas les fichiers en blocs. Les fichiers téléchargés par le client correspondent aux fichiers sur le serveur de stockage un à un (l'identification du fichier dans FastDFS est divisée en deux parties : le nom du groupe et le nom du fichier, tous deux). sont indispensables)
Pour plus d'articles techniques liés à Nginx, veuillez visiter la colonne Tutoriel d'utilisation de Nginx pour apprendre !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!