- Publié le
Feuille de triche de conception de systèmes
- Auteurs
- Nom
- AbnAsia.org
- @steven_n_t
Nous sommes souvent chargés de concevoir pour une haute disponibilité, une grande évolutivité et un débit élevé. Qu'est-ce que cela signifie exactement ?
Le diagramme ci-dessous est une feuille de triche de conception de système avec des solutions courantes.
- Haute Disponibilité Cela signifie que nous devons nous assurer d'un niveau élevé de disponibilité convenu. Nous décrivons souvent l'objectif de conception comme « trois neuf » ou « quatre neuf ». « Quatre neuf », 99,99 % de temps de disponibilité, signifie que le service ne peut être indisponible que pendant 8,64 secondes par jour.
Pour atteindre une haute disponibilité, nous devons concevoir une redondance dans le système. Il existe plusieurs façons de procéder :
Chaude-chaude : deux instances reçoivent la même entrée et envoient la sortie au service en aval. En cas de défaillance d'un côté, l'autre côté peut prendre le relais immédiatement. Puisque les deux côtés envoient la sortie au service en aval, le système en aval doit supprimer les doublons.
Chaude-chaude : deux instances reçoivent la même entrée et seule la partie chaude envoie la sortie au service en aval. En cas de défaillance de la partie chaude, la partie chaude prend le relais et commence à envoyer la sortie au service en aval.
Cluster à leader unique : une instance leader reçoit les données du système en amont et les réplique vers d'autres répliques.
Cluster sans leader : il n'y a pas de leader dans ce type de cluster. Toute écriture sera répliquée vers d'autres instances. Tant que le nombre d'instances d'écriture plus le nombre d'instances de lecture sont supérieurs au nombre total d'instances, nous devrions obtenir des données valides.
- Haut Débit Cela signifie que le service doit gérer un grand nombre de requêtes donné un laps de temps. Les métriques couramment utilisées sont QPS (requêtes par seconde) ou TPS (transactions par seconde).
Pour atteindre un haut débit, nous ajoutons souvent des caches à l'architecture afin que la requête puisse retourner sans toucher les périphériques I/O plus lents comme les bases de données ou les disques. Nous pouvons également augmenter le nombre de threads pour les tâches intensives en calcul. Cependant, ajouter trop de threads peut détériorer les performances. Nous devons alors identifier les goulets d'étranglement dans le système et augmenter son débit. Le traitement asynchrone peut souvent isoler efficacement les composants lourds.
- Haute Évolutivité Cela signifie qu'un système peut rapidement et facilement s'étendre pour accueillir un volume plus important (évolutivité horizontale) ou plus de fonctionnalités (évolutivité verticale). Normalement, nous surveillons le temps de réponse pour décider si nous devons mettre à l'échelle le système.
Veuillez noter que la version française est assistée par Ai, des erreurs mineures peuvent donc exister.
Auteur
AiUTOMATING PEOPLE, ABN ASIA a été fondée par des personnes ayant des racines profondes dans le milieu académique, avec une expérience professionnelle aux États-Unis, aux Pays-Bas, en Hongrie, au Japon, en Corée du Sud, à Singapour et au Vietnam. ABN ASIA est l'endroit où l'académie et la technologie rencontrent l'opportunité. Avec nos solutions de pointe et nos services de développement logiciel compétents, nous aidons les entreprises à se développer et à s'imposer sur la scène mondiale. Notre engagement : Plus vite. Mieux. Plus fiable. Dans la plupart des cas : moins cher également.
N'hésitez pas à nous contacter chaque fois que vous avez besoin de services informatiques, de conseils en matière de numérique, de solutions logicielles prêtes à l'emploi, ou si vous souhaitez nous envoyer des demandes de propositions (RFP). Vous pouvez nous contacter à l'adresse [email protected]. Nous sommes prêts à vous aider avec tous vos besoins technologiques.
© ABN ASIA