Lorsque l'API devient la base du produit et commence à traiter des dizaines de milliers de demandes par seconde, il est essentiel d'assurer sa mise à l'échelle horizontale. Cela signifie ajouter de nouvelles instances sans arrêter le service et répartir la charge entre eux à l'aide d'équilibreurs.
Nous concevons et mettons en œuvre une architecture API évolutive capable de croître de manière flexible et de supporter toutes les charges de pointe.
Comment le scaling horizontal fonctionne
| Composant | Ce qui fait |
|---|---|
| Load balancer | Répartit le trafic entrant entre les serveurs API (HAProxy, Nginx, AWS ELB) |
| API-instansy | Copies indépendantes de l'application API qui traitent les demandes en parallèle |
| Stockage de données partagé | OBD centralisée ou cache disponible pour toutes les instances |
| Health-check и auto-recovery | Contrôle de la disponibilité des instances et restauration automatique |
Pourquoi c'est nécessaire
Résilience avec une forte augmentation des demandes
Tolérance aux pannes - une défaillance d'un nœud n'affecte pas le fonctionnement de l'API
Prise en charge de la mise à l'échelle sans modification de la logique de l'application
Possibilité de lancer les mises à jour par étapes (rolling update)
Optimisation des coûts grâce à une mise à l'échelle dynamique
Ce que nous utilisons
Load balancers: HAProxy, Nginx, AWS ELB, GCP Load Balancer
Orchestres: Docker Swarm, Kubernetes, ECS
Кеш и shared state: Redis, Memcached, S3
Surveillance: Prometheus, Grafana, Datadog
CI/CD: Dispersion automatique des nouvelles instances par charge
Où est critique
API financières et bancaires
Jeux et services de streaming
E-commerce pour les ventes et les pics de charge
Produits à portée mondiale et distribution GEO
Horizon scaling est une base architecturale pour la croissance. Nous veillerons à ce que votre API fonctionne sur tous les volumes de trafic, avec une haute tolérance aux pannes, une évolutivité dynamique et une disponibilité constante.