Comment déterminer les ressources nécessaires pour votre API Gateway ?

January 25, 2024

Technology

Contexte

La passerelle API sert de point d'entrée unifié pour les services externes d'une entreprise, soulignant son importance indéniable. Toute perturbation de la disponibilité de la passerelle API elle-même impacte directement tous les services fournis par l'entreprise—une catastrophe inacceptable. Par conséquent, il est crucial de déterminer l'échelle de déploiement appropriée pour la passerelle API dans les scénarios de production.

Déterminer les ressources nécessaires est essentiel pour garantir les performances, la disponibilité et la stabilité de la passerelle API, optimisant ainsi l'utilisation des ressources et la rentabilité. Des ressources insuffisantes peuvent entraîner des problèmes tels que des délais d'attente de requêtes, des congestions et des pertes de paquets, affectant l'expérience utilisateur et la qualité du service. À l'inverse, des ressources excessives peuvent entraîner un gaspillage de ressources, une complexité opérationnelle accrue, augmentant les coûts et les risques.

Diagramme de la passerelle API

Par conséquent, déterminer les ressources nécessaires pour la passerelle API est une étape cruciale, nécessitant une planification réfléchie et des ajustements basés sur les exigences commerciales, les prévisions de trafic et les tests de performance. Cet article, s'appuyant sur les meilleures pratiques de divers secteurs, décrit un processus en trois étapes pour référence :

  • Sélection de la passerelle : QPS par cœur unique
  • Types de services : Services financiers ou non financiers
  • Exigences de haute disponibilité

Sélection de la passerelle

Le goulot d'étranglement pour les composants de base de la passerelle API se situe généralement dans le CPU, et non dans le réseau, le disque ou la mémoire. Le traitement par cœur unique du CPU d'une passerelle API indique de manière significative si elle est excellente ou non. Lorsque la consommation de ressources est plus faible pour le même trafic de requêtes API, cela implique moins de machines nécessaires, simplifiant la gestion opérationnelle et améliorant la disponibilité du service.

Apache APISIX, une passerelle API open-source, estime de manière conservatrice qu'un cœur unique de CPU peut supporter au moins 10 000 QPS lorsque les plugins d'entreprise courants pour la surveillance, la limitation de débit, etc., sont activés. Les entreprises peuvent effectuer des tests spécifiques pour collecter des résultats en tenant compte des différences dans les plugins activés, l'environnement matériel, les conditions réseau et les caractéristiques des requêtes API.

APISIX QPS 15000~18000

Types de services

La plupart des entreprises non financières peuvent contrôler l'utilisation des ressources CPU dans la passerelle API dans une plage de 20 à 30 % dans un environnement de production, ce qui est un scénario idéal. Même avec une augmentation de 3 à 5 fois des appels de services, elles peuvent gérer efficacement. Les industries comme les nouvelles, le divertissement et l'internet peuvent utiliser cette charge.

Cependant, pour les industries comme la banque, la finance et les valeurs mobilières, où la valeur de l'API est élevée, maintenir la charge quotidienne du CPU à 5-10 % est idéal. Cela permet à la passerelle API de gérer des pics de trafic soudains 10 à 20 fois plus élevés que d'habitude.

Exigences de haute disponibilité

Pour des exigences de disponibilité plus élevées, les instances de proxy de la passerelle API doivent avoir un minimum de 2 nœuds.

Exemples pratiques

Utilisateur du secteur des services financiers

Exemple d'entreprise :

  • QPS pour les appels API quotidiens est de 100 000
  • Charge quotidienne de la passerelle API est de 10 %
  • Sélection de la passerelle : Apache APISIX (QPS par cœur unique : 10 000)

Sur la base des informations ci-dessus, le nombre de CPU requis est de 100 000 / 10 000 / 10 % = 100. Si des machines avec 4 cœurs de CPU sont utilisées, 25 machines sont nécessaires ; avec 8 cœurs de CPU, 13 machines sont nécessaires.

Utilisateur du secteur des services non financiers

Exemple d'entreprise :

  • QPS pour les appels API quotidiens est de 100 000
  • Charge quotidienne de la passerelle API est de 25 %
  • Sélection de la passerelle : Apache APISIX (QPS par cœur unique : 10 000)

Sur la base des informations ci-dessus, le nombre de CPU requis est de 100 000 / 10 000 / 25 % = 40. Si des machines avec 4 cœurs de CPU sont utilisées, 10 machines sont nécessaires ; avec 8 cœurs de CPU, 5 machines sont nécessaires.

Conclusion

Dans l'utilisation pratique, le trafic est complexe et variable, nécessitant des ajustements flexibles des moyennes. En adoptant des passerelles API excellentes comme APISIX et en configurant judicieusement les ressources matérielles, les entreprises peuvent mieux équilibrer les coûts et les exigences de service, garantissant une exposition sécurisée, stable et efficace des API d'entreprise aux utilisateurs finaux.

Tags: