


Explication détaillée du processus de mise en œuvre de plusieurs serveurs d'images/fichiers
Le serveur d'images/fichiers, comme son nom l'indique, est utilisé pour stocker des fichiers. Certaines personnes utilisent les services existants d'Alibaba Cloud, et certaines publient des fichiers sur le serveur de fichiers et utilisent une application sur le serveur de fichiers pour les recevoir et les enregistrer. Les méthodes sont différentes. Jetons-y un coup d'œil avec l'éditeur ci-dessous
Écrivez-le devant
Le serveur d'images/fichiers, comme son nom l'indique, est utilisé pour stocker des fichiers. les gens utilisent les services existants d'Alibaba Cloud qui publient des fichiers sur un serveur de fichiers, et une application est utilisée sur le serveur de fichiers pour les recevoir et les enregistrer. Les méthodes varient. Les pilotes vétérans jouent déjà à de mauvais jeux sur différents serveurs. Plusieurs problèmes lors de l'utilisation de plusieurs serveurs d'images/fichiers sont :
1. Comment publier des fichiers téléchargés par le Web sur le serveur de fichiers, à quelle vitesse, combien de bande passante cela prend et combien de temps cela prend.
2. Comment répartir les fichiers uniformément sur chaque serveur d'images.
3. Comment étendre le nouveau serveur d'images et garantir que l'impact sur le contenu distribué est minimisé.
D'une part, j'espère que les conducteurs expérimentés pourront me donner quelques avis. D'autre part, je souhaite le partager avec de nouveaux conducteurs et enregistrer leurs propres trajets.
Déterminez l'objectif final dans la première minute
1. Chaque serveur de fichiers fournit non seulement des fonctions de stockage, mais dispose également de capacités de service externes pour réduire l'utilisation de la bande passante et du disque. Consommation d'E/S.
2. Fournir une évolutivité horizontale simple et facile
3. AsyncAsynchrone IO garantit que les threads ne sont pas bloquants.
4. Le fichier arrive rapidement sur le serveur d'images
Ny toi-même dans la troisième minute
1.NyPrends Méthode Http Post Picture to Image Server
2. Ne pas utiliser l'algorithme Hash modulo
3. Ne pas utiliser de hachage cohérent pour éviter le déplacement du fichier après une expansion horizontale du. serveur, même une petite quantité
Déterminez la méthode de mise en œuvre dans la cinquième minute
1 Partagez le disque du serveur de fichiers dans un dossier en tant que "disque réseau" entre spécifiques. les utilisateurs, c'est-à-dire partager le seul le serveur Web est autorisé à accéder au dossier. Vous pouvez vous référer à la façon de partager un dossier au sein du réseau local ou du dossier partagé Alibaba Cloud.
2. Via le répertoire virtuel IIS, pointez son chemin physique vers le disque réseau. Vous savez que les dossiers partagés utilisent le protocole Tcp/Ip et le protocole Netbios pour communiquer.
3. Configurez WebConfig pour accéder à l'identité du disque réseau (nom d'utilisateur et mot de passe) - doit être configuré
4 Le fichier partagé dans la première étape est déployé sur le serveur de fichiers dans l'un des. les WebApps sous le fichier IIS pour exposer le chemin de l'URL. Parce que vous savez qu'IIS ne peut obtenir aucun contenu du dossier parent sauf en utilisant la lecture de fichiers.
4. Déterminez la manière de répartir uniformément les positions de l'image en fonction du nom de fichier - la méthode du nom de suffixe de fichier utilise "nom de fichier-01" (serveur n° 1) et le nom de suffixe. utilise "nom de fichier-02" (numéro de serveur n°2), le nombre aléatoire est obtenu en utilisant Random. Quel que soit le nombre aléatoire, nous avons le numéro de serveur. Après plusieurs tests d'un million de fois au hasard, 1, 2 et 3 ont été obtenus respectivement environ 330 000 fois, garantissant ainsi l'équilibre. Lors d'une expansion future, ouvrez simplement quelques nombres aléatoires supplémentaires et il n'est pas nécessaire de déplacer des fichiers ou de remanier. Et après avoir augmenté horizontalement le nombre de serveurs, nous espérons garantir que les trois serveurs ne stockeront plus de fichiers et que la plage aléatoire sera réglable. Nous avons déjà enregistré le nom du fichier dans la base de données ou dans le cache, et il a un nom de suffixe. Lorsque nous renvoyons l'URL de l'image à la réception, il nous suffit d'épeler l'adresse IP du serveur de fichiers ou le nom de domaine. sur le nom du suffixe.
Suivez les étapes de la septième minute
1. Déployez FileServerApp Sa fonction est d'exposer l'URL de l'image. très simple. Configurer Un projet vide Asp.Net crée un dossier pour stocker les images. Et partagez le dossier avec le serveur Web. Consultez le diagramme de déploiement dans la dernière section pour plus de détails.
2. Supposons que vous ayez implémenté le partage de dossiers
3. Créez un nouveau répertoire virtuel sous le site IIS. pointe vers le réseau Chemin réseau du dossier partagé
4 Sous Webconfig
5. Utilisez Server.MapPath pour obtenir le chemin réseau de FileServer2 et utilisez vos méthodes de lecture et d'écriture de fichiers pour lire et écrire des fichiers dans le répertoire.
6. Il est recommandé d'utiliser Async pour écrire des fichiers. Les IO asynchrones reviendront pour gérer d'autres choses après avoir envoyé le paquet de demande IO au pilote réseau ou au pilote de disque. À un moment donné dans le futur, le fichier est écrit avec succès, la machine status restaure votre contexte et continue l'exécution de manière synchrone, ce qui peut grandement améliorer le débit de votre serveur Web.
Écrivez les points clés à la fin
S'il reste encore quelque chose de vague, lisez ici pour tout comprendre
【Recommandations associées】
3. Tutoriel vidéo de base ASP de Li Yanhui
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!

C # et .NET Runtime travaillent en étroite collaboration pour permettre aux développeurs de pouvoir de développer des capacités de développement efficaces, puissantes et multiplateformes. 1) C # est un langage de programmation de type et orienté objet conçu pour intégrer de manière transparente avec le framework .NET. 2) Le .NET Runtime gère l'exécution du code C #, fournit une collecte de déchets, des services de sécurité et d'autres services et assure une opération efficace et multiplateforme.

Pour démarrer le développement C # .NET, vous devez: 1. Comprendre la connaissance de base de C # et les concepts principaux du .NET Framework; 2. Maître les concepts de base des variables, des types de données, des structures de contrôle, des fonctions et des classes; 3. Apprenez les fonctionnalités avancées de C #, telles que LINQ et la programmation asynchrone; 4. Soyez familier avec les techniques de débogage et les méthodes d'optimisation des performances pour les erreurs courantes. Avec ces étapes, vous pouvez progressivement pénétrer le monde de C # .NET et écrire des applications efficaces.

La relation entre C # et .NET est inséparable, mais ce ne sont pas la même chose. C # est un langage de programmation, tandis que .NET est une plate-forme de développement. C # est utilisé pour écrire du code, compiler dans le langage intermédiaire de .NET (IL) et exécuté par .NET Runtime (CLR).

C # .NET est toujours important car il fournit des outils et des bibliothèques puissants qui prennent en charge le développement d'applications multiples. 1) C # combine .NET Framework pour rendre le développement efficace et pratique. 2) Le mécanisme de collecte de la sécurité et des ordures de C # améliore ses avantages. 3) .NET fournit un environnement de course multiplateforme et des API riches, améliorant la flexibilité du développement.

C # .NETtisversatileforbothwebandDeskTopDevelopment.1) forweb, useasp.netfordynamicapplications.2) fordesktop, employwindowsformSorwpfforrichInterfaces.3) usexamarinforcross-plateformDevelopment, permanant les codéescosswindows, macos, linux, etmobiledevices.

C # et .NET s'adaptent aux besoins des technologies émergentes à travers des mises à jour et des optimisations continues. 1) C # 9.0 et .NET5 introduire le type d'enregistrement et l'optimisation des performances. 2) .netcore améliore le support natif et conteneurisé cloud. 3) ASP.Netcore s'intègre aux technologies Web modernes. 4) ML.NET prend en charge l'apprentissage automatique et l'intelligence artificielle. 5) La programmation asynchrone et les meilleures pratiques améliorent les performances.

C # .NeTissuitableFormenterprise-LevelApplications withithemicrosofosystématetoitsstrongThpyping, RichLibrary, androbustperformance.wowever, itmayNotBeidealForcross-PlatformDevelopmentorwhenRawpeediscritical, whileLanguageSlikerUstorGomightBeferable.

Le processus de programmation de C # dans .NET comprend les étapes suivantes: 1) l'écriture de code C #, 2) la compilation dans un langage intermédiaire (IL) et 3) l'exécution par .NET Runtime (CLR). Les avantages de C # dans .NET sont sa syntaxe moderne, son système de type puissant et son intégration serrée avec le Framework .NET, adapté à divers scénarios de développement des applications de bureau aux services Web.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

MinGW - GNU minimaliste pour Windows
Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

Dreamweaver CS6
Outils de développement Web visuel

mPDF
mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP