Architecture des microservices - Mise à l'échelle

La mise à l'échelle est un processus de décomposition d'un logiciel en différentes unités. La mise à l'échelle définit également en termes d'évolutivité. L'évolutivité est la possibilité d'implémenter des fonctionnalités plus avancées de l'application. Il contribue à améliorer la sécurité, la durabilité et la maintenabilité de l'application. Nous avons trois types de procédures de mise à l'échelle qui sont suivies dans les industries. Vous trouverez ci-dessous les différentes méthodologies de mise à l'échelle ainsi que les exemples réels correspondants.

Mise à l'échelle de l'axe X

La mise à l'échelle de l'axe X est également appelée mise à l'échelle horizontale. Dans cette procédure, l'ensemble de la demande est subdivisé en différentes parties horizontales. Normalement, n'importe quelle application de serveur Web peut avoir ce type de mise à l'échelle. Considérez une architecture MVC normale qui suit la mise à l'échelle horizontale, comme illustré dans la figure suivante.

À titre d'exemple, nous pouvons considérer n'importe quelle application de servlet JSP. Dans cette application, le contrôleur contrôle chaque demande et génère une vue en communiquant avec le modèle chaque fois que nécessaire. Normalement, les applications monolithiques suivent cette méthode de mise à l'échelle. La mise à l'échelle de l'axe X est de nature très basique et prend beaucoup moins de temps. Dans cette méthodologie, un logiciel sera mis à l'échelle en fonction de ses différentes tâches dont l'unité est responsable. Par exemple, le contrôleur est responsable du contrôle de la demande entrante et sortante, la vue est chargée de représenter la fonctionnalité commerciale aux utilisateurs dans le navigateur, tandis que le modèle est responsable de stocker nos données et fonctionne comme base de données.

Mise à l'échelle de l'axe Y

La mise à l'échelle de l'axe Y est également appelée mise à l'échelle verticale qui inclut toute mise à l'échelle au niveau des ressources. Tout système DBaaS ou Hadoop peut être considéré comme mis à l'échelle sur l'axe Y. Dans ce type de mise à l'échelle, la demande des utilisateurs est redirigée et restreinte en implémentant une logique.

Prenons Facebook comme exemple. Facebook doit gérer 1,79 million d'utilisateurs par seconde; Par conséquent, contrôler le trafic est une énorme responsabilité des ingénieurs réseau de Facebook. Pour surmonter tout danger, ils suivent la mise à l'échelle de l'axe Y qui comprend l'exécution de plusieurs serveurs avec la même application en même temps. Désormais, afin de contrôler cet énorme niveau de trafic, Facebook redirige tout le trafic d'une région vers un serveur spécifique, comme le montre l'image. Ce transfert de trafic basé sur la région est appelé équilibrage de charge en langage architectural.

Cette méthode de décomposition des ressources en petites unités commerciales indépendantes est appelée mise à l'échelle de l'axe Y.

Mise à l'échelle de l'axe Z

La mise à l'échelle des axes X et Y est plus facile à comprendre. Cependant, une application peut également être mise à l'échelle au niveau de l'entreprise, ce qui est appelé mise à l'échelle de l'axe Z. Voici un exemple de mise à l'échelle d'une application de service de cabine dans les différents secteurs verticaux des unités commerciales.

Avantages de la mise à l'échelle

  • Cost - Une mise à l'échelle appropriée d'un logiciel réduira les coûts de maintenance.

  • Performance - En raison d'un couplage lâche, les performances d'un logiciel correctement dimensionné sont toujours meilleures que celles d'un logiciel non dimensionné.

  • Load distribution - En utilisant différentes technologies, nous pouvons facilement maintenir la charge de notre serveur.

  • Reuse - L'évolutivité d'un logiciel augmente également la convivialité du logiciel.