Maison Tutoriel système Linux Des trucs secs ! 9 architectures techniques performantes et à haute concurrence

Des trucs secs ! 9 architectures techniques performantes et à haute concurrence

Feb 13, 2024 am 11:00 AM
linux linux教程 红帽 linux系统 分布式部署 并发访问 linux命令 certification Linux chapeau rouge Linux vidéo Linux

1. Superposition

La superposition est le modèle architectural le plus courant dans les systèmes d'applications d'entreprise. Elle divise le système en plusieurs parties dans la dimension horizontale, chaque partie est responsable d'une responsabilité relativement simple et unique, puis s'appuie et planifie les couches inférieures jusqu'à la couche supérieure. . forment un système complet.

Dans l'architecture en couches d'un site Web, il existe trois couches communes, à savoir la couche application, la couche service et la couche données. La couche application est spécifiquement responsable de l'affichage des activités et des vues ; la couche service fournit un support de services pour la couche application ; la base de données fournit des services d'accès au stockage de données, tels que des bases de données, des caches, des fichiers, des moteurs de recherche, etc.

L'architecture en couches est logique. En termes de déploiement physique, l'architecture à trois niveaux peut être déployée sur la même machine physique. Cependant, avec le développement de l'activité site Web, il est nécessaire de déployer les modules déjà en couches séparément, c'est-à-dire. , la structure à trois niveaux est déployée séparément sur différents serveurs, le site Web dispose de plus de ressources informatiques pour faire face à des visites toujours plus nombreuses.

Ainsi, bien que l'objectif initial du modèle d'architecture en couches soit de planifier une structure logique claire du logiciel pour faciliter le développement et la maintenance, dans le processus de développement du site Web, la structure en couches est cruciale pour que le site Web prenne en charge le développement d'une concurrence élevée. et direction distribuée.
Des trucs secs ! 9 architectures techniques performantes et à haute concurrence

2. Redondance

Le site Web doit fonctionner en continu 7 × 24 heures, il doit donc disposer d'un mécanisme de redondance correspondant pour l'empêcher d'être accessible lorsqu'une certaine machine tombe en panne. La redondance peut être obtenue en déployant au moins deux serveurs pour former un cluster afin d'atteindre un niveau élevé. disponibilité du service. En plus des sauvegardes régulières, la base de données doit également mettre en œuvre des sauvegardes à chaud et à froid. Les centres de données de reprise après sinistre peuvent même être déployés à l’échelle mondiale.

3. Séparation

Si la superposition consiste à diviser le logiciel horizontalement, alors le partitionnement consiste à diviser le logiciel verticalement.

Plus le site Web est grand, plus les fonctions sont complexes et plus il y a de types de services et de traitements de données. Séparer ces différentes fonctions et services et les regrouper en unités modulaires à forte cohésion et faible couplage contribuera non seulement au développement et à la maintenance du site Web. logiciel Il facilite également le déploiement distribué de différents modules et améliore les capacités de traitement simultané du site Web et les capacités d’extension des fonctions.

La granularité de la séparation peut être faible pour les grands sites Web. Par exemple, au niveau de l'application, différentes activités sont séparées, telles que les achats, les forums, la recherche et la publicité, en différentes applications. Des équipes opposées en sont responsables et sont déployées sur différents serveurs.

4. Asynchrone

En utilisant l'asynchrone, la transmission de messages entre entreprises n'est pas un appel synchrone, mais une opération commerciale est divisée en plusieurs étapes, et chaque étape est exécutée de manière asynchrone pour la collaboration en partageant des données.

L'implémentation spécifique peut être traitée au sein d'un seul serveur via une mémoire partagée multithread ; dans un système distribué, une implémentation asynchrone peut être réalisée via des files d'attente de messages distribuées.

L'architecture asynchrone typique est la méthode producteur-consommateur, et il n'y a pas d'appel direct entre les deux.

5. Distribué

Pour les grands sites Web, l'un des principaux objectifs de la superposition et de la séparation est de faciliter le déploiement distribué de modules divisés, c'est-à-dire de déployer différents modules sur différents serveurs et de travailler ensemble via des appels à distance. La distribution signifie que plus d'ordinateurs peuvent être utilisés pour effectuer le même travail. Plus il y a d'ordinateurs, plus il y a de ressources de processeur, de mémoire et de stockage, et plus la quantité d'accès simultanés et de données pouvant être traitées est grande, offrant ainsi à davantage d'utilisateurs Serve.

Dans les applications de sites Web, il existe plusieurs solutions distribuées couramment utilisées.

Applications et services distribués : le déploiement distribué de modules d'applications et de services en couches et séparés peut améliorer les performances et la concurrence des sites Web, accélérer le développement et la publication et réduire la consommation des ressources de connexion à la base de données.

Ressources statiques distribuées : les ressources statiques du site Web, telles que JS, CSS, images de logo et autres ressources, sont déployées de manière distribuée et adoptent des noms de domaine indépendants, ce que les gens appellent souvent la séparation des ressources statiques et dynamiques. Le déploiement distribué de ressources statiques peut réduire la pression de charge sur le serveur d'applications ; accélérer le chargement simultané du navigateur en utilisant des noms de domaine indépendants.

Données et stockage distribués : les grands sites Web doivent traiter des données massives en unités P. Un seul ordinateur ne peut pas fournir un espace de stockage aussi important. Ces bases de données nécessitent un stockage distribué.

Informatique distribuée : actuellement, les sites Web utilisent généralement les cadres informatiques distribués Hadoop et MapReduce pour ces calculs par lots, qui sont caractérisés par l'informatique mobile plutôt que par les données mobiles, et le programme informatique est distribué à l'emplacement des données pour accélérer le calcul et l'informatique distribuée.

Des trucs secs ! 9 architectures techniques performantes et à haute concurrence

6. Sécurité

Les sites Web disposent de nombreux modes en termes d'architecture de sécurité : l'authentification de l'identité via des mots de passe et des codes de vérification du téléphone mobile ; les communications réseau doivent être cryptées pour la connexion et les transactions afin d'empêcher les robots d'abuser des ressources, des codes de vérification doivent être utilisés pour l'identification ; attaques XSS courantes, l'injection SQL nécessite une conversion de codage ; les informations de spam doivent être filtrées, etc.

7. Automatisation

Plus précisément, cela comprend le processus de publication automatisé, la gestion automatisée du code, les tests automatisés, la détection de sécurité automatisée, le déploiement automatisé, la surveillance automatisée, les alarmes automatisées, le basculement automatisé, la récupération automatisée en cas de panne, etc.

8. Grappe

Pour les modules avec accès utilisateur centralisé, les serveurs déployés indépendamment doivent être regroupés, c'est-à-dire que plusieurs serveurs déploient la même application pour former un cluster et fournissent conjointement des services externes via un équipement d'équilibrage de charge.

Le cluster de serveurs peut fournir une prise en charge plus simultanée pour le même service, donc lorsque plus d'utilisateurs y accèdent, il vous suffit d'ajouter de nouvelles machines au cluster. De plus, lorsque l'un des serveurs tombe en panne, le mécanisme de basculement d'équilibrage de charge peut être utilisé ; pour transférer les requêtes vers d'autres serveurs du cluster, améliorant ainsi la disponibilité du système.
Des trucs secs ! 9 architectures techniques performantes et à haute concurrence

9.Cache

Le but de la mise en cache est de réduire le calcul du serveur afin que les données puissent être restituées directement à l'utilisateur. Dans la conception logicielle actuelle, la mise en cache est omniprésente. Les implémentations spécifiques incluent CDN, proxy inverse, cache local, cache distribué, etc.

Il existe deux conditions pour utiliser le cache : un accès déséquilibré aux points d'accès aux données, c'est-à-dire que certaines données fréquemment consultées doivent être placées dans le cache ; les données sont valides pendant une certaine période de temps, mais expireront bientôt, sinon une lecture sale se produira en raison de l'expiration des données, affectant l'exactitude des données.
Des trucs secs ! 9 architectures techniques performantes et à haute concurrence

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Entrée de la version Web Deepseek Entrée du site officiel Deepseek Entrée de la version Web Deepseek Entrée du site officiel Deepseek Feb 19, 2025 pm 04:54 PM

Deepseek est un puissant outil de recherche et d'analyse intelligent qui fournit deux méthodes d'accès: la version Web et le site officiel. La version Web est pratique et efficace et peut être utilisée sans installation; Que ce soit des individus ou des utilisateurs d'entreprise, ils peuvent facilement obtenir et analyser des données massives via Deepseek pour améliorer l'efficacité du travail, aider la prise de décision et promouvoir l'innovation.

Comment installer Deepseek Comment installer Deepseek Feb 19, 2025 pm 05:48 PM

Il existe de nombreuses façons d'installer Deepseek, notamment: Compiler à partir de Source (pour les développeurs expérimentés) en utilisant des packages précompilés (pour les utilisateurs de Windows) à l'aide de conteneurs Docker (pour le plus pratique, pas besoin de s'inquiéter de la compatibilité), quelle que soit la méthode que vous choisissez, veuillez lire Les documents officiels documentent soigneusement et les préparent pleinement à éviter des problèmes inutiles.

Comment résoudre le problème des autorisations rencontré lors de la visualisation de la version Python dans le terminal Linux? Comment résoudre le problème des autorisations rencontré lors de la visualisation de la version Python dans le terminal Linux? Apr 01, 2025 pm 05:09 PM

Solution aux problèmes d'autorisation Lors de la visualisation de la version Python dans Linux Terminal Lorsque vous essayez d'afficher la version Python dans Linux Terminal, entrez Python ...

Installation officielle du site officiel de Bitget (Guide du débutant 2025) Installation officielle du site officiel de Bitget (Guide du débutant 2025) Feb 21, 2025 pm 08:42 PM

Bitget est un échange de crypto-monnaie qui fournit une variété de services de trading, notamment le trading au comptant, le trading de contrats et les dérivés. Fondée en 2018, l'échange est basée à Singapour et s'engage à fournir aux utilisateurs une plate-forme de trading sûre et fiable. Bitget propose une variété de paires de trading, notamment BTC / USDT, ETH / USDT et XRP / USDT. De plus, l'échange a une réputation de sécurité et de liquidité et offre une variété de fonctionnalités telles que les types de commandes premium, le trading à effet de levier et le support client 24/7.

Obtenez le package d'installation Gate.io gratuitement Obtenez le package d'installation Gate.io gratuitement Feb 21, 2025 pm 08:21 PM

Gate.io est un échange de crypto-monnaie populaire que les utilisateurs peuvent utiliser en téléchargeant son package d'installation et en l'installant sur leurs appareils. Les étapes pour obtenir le package d'installation sont les suivantes: Visitez le site officiel de Gate.io, cliquez sur "Télécharger", sélectionnez le système d'exploitation correspondant (Windows, Mac ou Linux) et téléchargez le package d'installation sur votre ordinateur. Il est recommandé de désactiver temporairement les logiciels antivirus ou le pare-feu pendant l'installation pour assurer une installation fluide. Une fois terminé, l'utilisateur doit créer un compte Gate.io pour commencer à l'utiliser.

Le package d'installation OUYI OKX est directement inclus Le package d'installation OUYI OKX est directement inclus Feb 21, 2025 pm 08:00 PM

OUYI OKX, le premier échange mondial d'actifs numériques, a maintenant lancé un package d'installation officiel pour offrir une expérience de trading sûre et pratique. Le package d'installation OKX de OUYI n'a pas besoin d'être accessible via un navigateur. Le processus d'installation est simple et facile à comprendre.

Comment définir automatiquement les autorisations d'UnixSocket après le redémarrage du système? Comment définir automatiquement les autorisations d'UnixSocket après le redémarrage du système? Mar 31, 2025 pm 11:54 PM

Comment définir automatiquement les autorisations d'UnixSocket après le redémarrage du système. Chaque fois que le système redémarre, nous devons exécuter la commande suivante pour modifier les autorisations d'UnixSocket: sudo ...

OUYI Exchange Télécharger le portail officiel OUYI Exchange Télécharger le portail officiel Feb 21, 2025 pm 07:51 PM

Ouyi, également connu sous le nom d'OKX, est une plate-forme de trading de crypto-monnaie de pointe. L'article fournit un portail de téléchargement pour le package d'installation officiel d'Ouyi, qui facilite les utilisateurs pour installer le client Ouyi sur différents appareils. Ce package d'installation prend en charge les systèmes Windows, Mac, Android et iOS. Une fois l'installation terminée, les utilisateurs peuvent s'inscrire ou se connecter au compte OUYI, commencer à négocier des crypto-monnaies et profiter d'autres services fournis par la plate-forme.

See all articles