Pour les entreprises, le site Web est un portail important pour l'entreprise. Cependant, la manière dont les différentes entreprises hébergent leurs serveurs de site Web changera en fonction des besoins de l'entreprise.
De manière générale, les grands sites Web se développent à partir de petits sites Web. Au début, l'architecture du site Web est relativement simple. À mesure que l'activité devient plus complexe et que le nombre d'utilisateurs augmente, de nombreuses améliorations architecturales commencent à être apportées. Lorsqu'il s'agit d'un petit site Web, il n'y a pas beaucoup de visiteurs, et généralement un seul serveur suffit. À l'heure actuelle, toutes les ressources telles que les applications, les bases de données, les fichiers, etc. sont sur un seul serveur.
Mais avec le développement de l'activité des sites web et l'augmentation du nombre d'utilisateurs, un seul serveur ne peut plus répondre à la demande. Un grand nombre d'utilisateurs accèdent au système, ce qui entraîne des vitesses d'accès de plus en plus lentes, et l'augmentation progressive des données entraînera également un espace de stockage insuffisant. À ce stade, il est nécessaire de séparer l'application et les données. Une fois l'application et les données séparées, l'ensemble du site Web utilise trois serveurs, à savoir le serveur d'applications, le serveur de fichiers et le serveur de base de données. Ces trois serveurs ont des exigences de plus en plus élevées en ressources matérielles. Ils nécessitent des processeurs plus puissants, des disques plus rapides et une mémoire plus grande pour prendre en charge le fonctionnement de ces serveurs.
À mesure que le nombre d'utilisateurs continue d'augmenter, le site Web sera à nouveau confronté à des défis : une pression excessive sur la base de données entraînera une nouvelle baisse de l'efficacité d'accès de l'ensemble du site et l'expérience utilisateur s'en trouvera affectée. Pour un site internet, la plupart des visites professionnelles se concentrent souvent sur 20% des données. Prenons l'exemple de Weibo. Les publications Weibo les plus demandées sont certainement celles de grands V avec des dizaines de millions de fans, alors que presque personne ne prête attention aux pages d'accueil de ces petits comptes.
Nous pouvons profiter de cette fonctionnalité pour mettre en cache cette petite partie des données en mémoire à l'avance au lieu de la lire à chaque fois dans la base de données. Cela peut réduire la pression d'accès sur la base de données et améliorer l'accès à la base de données. vitesse entière du site Web. Le cache utilisé par le site Web est généralement divisé en mise en cache sur le serveur d'applications ou en mise en cache sur un serveur de cache distribué dédié. La vitesse d'accès de la mise en cache au serveur d'applications est beaucoup plus rapide, mais en raison de ses propres limitations de mémoire, elle n'est souvent pas adaptée. Le cache distribué distant utilise un cluster pour être responsable de la mise en cache des services. Lorsque la mémoire est insuffisante, elle peut être facilement étendue de manière dynamique.
Utilisez un cluster de serveurs d'applications pour améliorer la capacité de traitement simultané du site Web. Après avoir utilisé le cache, la pression d'accès aux données est allégée, mais le nombre de connexions de requêtes qu'un seul serveur d'applications peut gérer est limité. Pendant la période de pointe d'accès au site Web, le serveur d'applications devient l'ensemble du goulot d'étranglement de l'efficacité du site Web. Lorsque la puissance de traitement et l'espace de stockage d'un serveur sont insuffisants, n'essayez pas de le remplacer par un serveur plus puissant. Pour les grands sites Web, quelle que soit la puissance du serveur, il ne peut pas répondre à la croissance continue des besoins commerciaux du site Web.
Dans ce cas, une approche plus appropriée consiste à ajouter un serveur pour partager la pression d'accès et de stockage du serveur d'origine. Pour l'architecture du site Web, tant que la pression de charge peut être améliorée en ajoutant un serveur, vous pouvez continuer à ajouter des serveurs de la même manière pour améliorer continuellement les performances du système, atteignant ainsi l'évolutivité du système. La mise en œuvre d’un cluster de serveurs d’applications est un type relativement simple et mature de conception d’architecture de site Web évolutive.