Qu'est-ce qu'un cluster de serveurs, l'équilibrage de charge et distribué

        Il y a quelques jours, mon colocataire a changé de travail. Il travaillait auparavant comme ordinateur hôte client. Après avoir changé de travail, il est entré en contact avec les concepts de clustering, d'équilibrage de charge et de distribution , mais ce n'est pas très clair. La réponse sur Baidu est également le même, alors j'ai discuté de cette question avec moi dans le groupe. Je me suis souvenu que lorsque je faisais juste du développement de serveurs, ces concepts n'étaient pas très clairs et qu'en y repensant maintenant, cela devrait pouvoir être décrit en vernaculaire. Voici un exemple.

      1. Qu'est-ce qu'un cluster

        Prenons d'abord un exemple de ce genre: vous êtes maintenant un ingénieur en développement de serveurs qui stimule le champ de bataille, à partir de zéro. Vous développez d'abord un serveur A, et les performances optimales du serveur A que vous développez peuvent accueillir 5000 personnes pour jouer à des jeux en ligne, puis le déployer et l'utiliser. Parce que c'est un jeu nouvellement développé, peu de gens y jouent. Au bout d'un moment, j'ai découvert que de plus en plus de gens jouaient à des jeux. Maintenant, il y a 8 000 personnes qui veulent jouer. Un serveur ne peut plus tenir le coup. Vous développez à nouveau le serveur B. Laissez le serveur A et le serveur B fonctionner ensemble afin que votre jeu puisse contenir jusqu'à 10 000 joueurs. Le serveur A et le serveur B sont appelés votre cluster de serveurs de jeu. De la même manière, vous passez à 10 serveurs, tant que vous stimulez le serveur de jeu Battlefield, il s'appelle votre cluster de serveurs .

      2. Qu'est-ce que l'équilibrage de charge

        Vous avez maintenant 2 serveurs, et vous constatez que votre serveur fonctionne comme ceci.8000 personnes jouent à des jeux, le nombre de personnes sur le serveur A a atteint 5000 et les 3000 autres personnes entreront dans le serveur B. Cela posera un problème: toute personne ayant des connaissances logicielles courantes sait que plus la quantité de données est grande, plus le temps de traitement est long ou plus l'espace est grand. Le serveur A compte 5 000 personnes qui jouent au jeu et il a atteint son apogée. Les joueurs ont parfois l'impression que le serveur se bloque. Par exemple, après avoir cliqué sur le jeu d'ouverture, il faudra un certain temps pour passer à l'interface suivante. Tout comme votre ordinateur a de nombreux éléments allumés en même temps, bien qu'il puisse le gérer, il gèlera occasionnellement. Vous pensez que c'est déraisonnable.Il y a évidemment deux serveurs, tant que chaque serveur gère 4 000 joueurs séparément, pour que les deux serveurs n'atteignent pas le sommet, 8 000 joueurs peuvent avoir une bonne expérience. Depuis, vous avez écrit quelques méthodes de traitement pour que les joueurs traités par le serveur A et le serveur B soient les mêmes. Par exemple, lorsque 6000 joueurs jouent à un jeu, le serveur A et le serveur B traitent respectivement 3000 joueurs. C'est l'équilibrage de charge .

      3. Ce qui est distribué

        Après une période de fonctionnement, votre jeu passionnant sur le champ de bataille compte 5 W joueurs et 4 W sont en ligne en même temps au sommet. Vous suivez la méthode ci-dessus et vous avez développé 10 serveurs (serveurs A, B, C ...), et le jeu fonctionne normalement. Soudain, un jour, alors que 4W personnes étaient en ligne en même temps, trois serveurs se sont soudainement arrêtés.Les joueurs connectés à ces trois serveurs étaient tous déconnectés et reconnectés, mais les performances de pointe de vos 7 serveurs ne peuvent accueillir que 3,5W personnes. Cela signifie que 5000 joueurs ne peuvent pas jouer directement, pas de chance, et il n'y a que quelques gros tyrans sur 5000 joueurs qui viennent de visiter le centre commercial à nouveau pour se préparer à consommer. Désormais, la consommation ne parle plus. Après une plainte , vous avez été critiqué par l'entreprise. Après avoir été critiqué, vous avez commencé à penser que votre conception était déraisonnable. Bien que les personnes 4W soient en ligne en même temps, seules les personnes 3W rejouent.Les personnes 1W n'entrent pas dans le jeu, elles vont simplement dans le hall (centre commercial) et vous avez initialement écrit toute la logique sur un autre serveur lobby, jeu) Les performances optimales d'un serveur ne peuvent accueillir que 5000 personnes. Depuis lors, vous avez ré-analysé les exigences: 1. Il y a jusqu'à 1 W joueurs qui se connectent en même temps, 2 joueurs qui sont en ligne en même temps ont généralement 1/4 aller au lobby et au centre commercial, et le reste 3/4 sont pour le jeu. Ensuite, vous avez repensé votre serveur et divisé les serveurs en 3 catégories, chacune ne gérant qu'un seul type d'entreprise , divisées en serveurs de connexion, serveurs de lobby et serveurs de jeux . Une fois que vous le diviser, car un serveur ne traite qu'une seule sorte de logique, les performances du serveur est améliorée , et la logique aux gens 1W peut être traitée. Ceci est distribué . Maintenant, vous réattribuez les serveurs, 10 serveurs, répartis en 2 serveurs de connexion, 2 serveurs de lobby et 6 serveurs de jeu. Maintenant, lorsque le jeu a 4W personnes en ligne en même temps, il sera dans le lobby selon 1/4 (1W personnes), 3/4 dans le jeu (3W personnes). Pour le moment, si 3 serveurs sont en panne, il n'y aura pas de situation où les joueurs ne pourront pas se connecter comme la dernière fois.

       Ce qui précède n'est qu'un exemple pour aider à comprendre ces concepts. La situation réelle sera plus compliquée, mais le principe est le même.

Je suppose que tu aimes

Origine blog.csdn.net/banfushen007/article/details/108035080
conseillé
Classement