Blogue
DEX gérant 100 000 RPS : moteur de mise à l'échelle automatique pour PancakeSwap

DEX gérant 100 000 RPS : moteur de mise à l'échelle automatique pour PancakeSwap

Daniel Yavorovych
February 29, 2024

Cet article explique comment PancakeSwap est devenu l'un des plus grands DEX au monde grâce à sa haute disponibilité, à son expérience utilisateur améliorée et à son cœur de mise à l'échelle automatique.

À propos de PancakeSwap

PancakeSwap est un échange décentralisé (DEX) lancé sur la Binance Smart Chain (BSC) en septembre 2020. Il est devenu l'un des principaux DEX du BSC et a gagné en popularité en raison des frais de gaz élevés liés à Ethereum lors de son lancement.

Cette plateforme est rapidement devenue célèbre grâce à des frais peu élevés, à un échange de transactions rapide, à une offre diversifiée de jetons, à une interface conviviale, à un marketing intelligent et à un support centré sur le client. À mesure que le nombre d'utilisateurs de ce DEX et du pool de liquidités augmentaient, l'ensemble de la plateforme était considéré comme plus fiable, plus sécurisé et plus stable. Voici la boucle de feedback positive dont rêvent tout projet Defi !

Mais que se passait-il de l'intérieur de PancakeSwap ?

L'attention positive de Binance, l'organisation d'événements cryptographiques tels que IFO, et même la simple activité quotidienne des utilisateurs ont commencé à remettre en question et à dépasser les limites de charge de trafic. Dans le même temps, la simple augmentation de la quantité de serveurs (surapprovisionnement) n'a pas beaucoup changé la situation, car les ressources gigantesques achetées pour couvrir les pics de trafic n'étaient pas utilisées pendant les périodes régulières.

PancakeSwap devrait rester fiable pour ses clients en résolvant ce problème.

Les traders de cryptomonnaies n'attendront pas que votre serveur se remette sur pied après une panne. Ils ouvrent X ou Reddit et lancent un fil de discussion sur 1000 raisons pour lesquelles vous ne devriez pas utiliser telle ou telle plateforme pour trader. C'est ce que chaque DEX veut éviter. Les gens s'inquiètent pour leur argent et il est naturel qu'ils aient les attentes les plus élevées en matière de disponibilité pour les plateformes de trading comme PancakeSwap.

Pour surmonter ce défi, l'équipe Dysnix a utilisé toute son expérience et son intelligence et a mis en œuvre un autoscaler Kubernetes prédictif appelé PredictKube pour prendre en charge PancakeSwap et le rendre plus stable, disponible à tout moment et gérant le trafic. Avec cette implémentation, les ingénieurs ont aidé PancakeSwap utiliser les ressources GCP avec un profit maximal. PredictKube a résolu une pléthore de problèmes courants pour les plateformes de trading et autres projets Web3.

Problèmes de croissance et de flexibilité

Mise à l'échelle inefficace

PancakeSwap utilisait des solutions populaires avant de rencontrer Dysnix, comme les terminaux publics, mais elles n'étaient pas suffisamment performantes. Tout d'abord, DEX n'a pas pu contrôler et sécuriser ce type de connexion entièrement en raison de la nature des terminaux publics. Deuxièmement, ils n'ont pas résolu le problème qu'ils rencontraient avec les charges de trafic. La mise à l'échelle traditionnelle était confrontée à deux défis principaux :

  • Au moment de l'augmentation du trafic, il sera peut-être trop tard pour évoluer efficacement ;
  • Pendant les périodes de faible trafic, les ressources peuvent être inutilement abondantes et sous-utilisées.

Il est préférable d'allouer plus de ressources en prévision d'une augmentation du trafic plutôt que de réagir lorsque la hausse se produit déjà. La période d'anticipation doit tenir compte du fait que chaque nouveau nœud met quelques heures à se déployer à l'état normal.

Pourquoi la mise à l'échelle manuelle ou les méthodes simples de mise à l'échelle automatique ne suffiront pas

La mise à l'échelle manuelle et automatisée est toujours applicable dans de nombreux cas, mais pas pour la plate-forme DEX comme PancakeSwap. Et c'est pourquoi :

  • Nature réactive: vous pouvez définir les règles qui provoqueront la mise à l'échelle, mais elles seront déclenchées lorsque vous atteindrez un certain seuil, comme l'utilisation du processeur. Il n'y a aucun moyen de redimensionner à l'avance.
  • Non-efficacité: La définition des seuils ne permet pas de résoudre le problème du surprovisionnement et du sous-provisionnement. Même le plus grand ensemble de limites et de règles d'augmentation et de réduction d'échelle peut entraîner une perte de trafic ou des dépenses inefficaces.
  • Réglage manuel: La mise à l'échelle automatique classique nécessite de fréquents ajustements, et votre spécialiste doit être extrêmement attentif à l'évolution de la plateforme et aux évolutions du marché sur le point de se produire.
  • Des surprises hors du commun: Pour tout événement inattendu entraînant une charge critique qui ne correspond pas aux scénarios de dimensionnement décrits, le dimensionnement traditionnel sera impuissant.

Surprovisionnement

Il s'agit d'un état typique de nombreux projets basés sur le cloud. « De combien d'espace serveur aurai-je besoin le mois prochain ? Si j'en prends trop, il n'y a aucune garantie de remboursement pour éviter cette erreur. Si je n'en prends pas assez, je perdrai mon trafic... », ces pensées vous sont peut-être familières.

La stratégie de surapprovisionnement vous oblige à acheter des lots et beaucoup plus pour couvrir tous les problèmes de trafic, même si vous avez un pic par mois. Comme sur l'image ci-dessous, vous payez toujours Nœuds réels (lignes rouges), alors qu'il vous en faut 5 fois moins la plupart du temps.

Cette image est également un spoiler d'une fonction de prévision du trafic de PredictKube afin que vous puissiez voir RPC réel contre RPC prédit en comparaison.

Pics de latence

Lorsque le RPS croît rapidement et que les ressources disponibles ne peuvent pas y faire face, cela entraîne des pics de latence.

Au cours de tels épisodes, le système devient encombré et indisponible, des transactions peuvent être perdues et l'expérience utilisateur diminue. Pour résoudre ce problème, vous devez disposer de ressources suffisantes et répartir les flux de trafic afin d'éviter tout signe de retard dans l'interface et dans l'ensemble du système. Si la congestion est trop importante, le temps d'arrêt est là ; tout doit être relancé.

Effets sur les entreprises : perte de trafic et niveau de service indéfini

Ces défis étaient sur la voie du développement du PancakeSwap. La mauvaise expérience utilisateur, même les temps d'arrêt périodiques, et la latence élevée ne peuvent constituer la base d'un DEX fiable pour des milliers de traders. La perte de trafic entraîne des transactions inachevées, retardées ou annulées. Un niveau de service flou est une vague promesse qui n'attire jamais l'argent des gens.

Et tous ces défis pouvaient être résolus avec PredictKube.

Implémentation de PredictKube

PredictKube, l'autoscaler proactif pour Kubernetes créé par Dysnix, fonctionne sur un modèle d'IA et est compatible avec GCP, Azure et AWS. Il permet d'éviter le surprovisionnement en prédisant la tendance du trafic et en équilibrant les ressources à l'avance. Il est facile, personnalisable, facile à apprendre et adaptable.

La prédiction PredictKube en action

À la base, il étend pleinement les possibilités de GKE en incorporant les fonctionnalités Kubeflow, TensorFlow et ElasticSearch.

Composants de la solution PredictKube

  • Prévision de charge pour une évolutivité proactive

Cette prévision de charge est basée sur deux types de données.

Tout d'abord, les données historiques nous permettent de prévoir la tendance habituelle du trafic. Deuxièmement, les données des indicateurs commerciaux (sources multiples) nous permettent de deviner les événements imprévisibles en tenant compte d'indicateurs autres que le trafic.

Ainsi, la mise à l'échelle prédictive et la mise à l'échelle basée sur les événements couvrent tous les cas qui doivent être suivis et couverts pour réagir de manière proactive au changement de charge.

L'exemple des métriques commerciales qui entraînent une charge de trafic
  • Optimisation continue de la taille du cluster pour la charge actuelle

Ce processus est basé sur un équilibrage constant des ressources pour la charge actuelle et à venir. Le nœud complet a besoin de temps pour être lancé, donc selon les prévisions, la configuration commence sérieusement à l'avance. La fermeture prend moins de temps, mais elle doit être faite à temps. En outre, le système suit les indicateurs de santé de chaque nœud. Si le nœud ralentit parce qu'il est trop surchargé ou encombré, le trafic passe automatiquement à un nœud sain et le nœud lent est nettoyé.

  • Sélection du type d'instance optimal

Les types d'instances optimaux influencent la vitesse de traitement du trafic et la productivité globale. En fonction de la situation du trafic, de la nature de la charge et du schéma prévu, les instances peuvent être facilement passées d'un type à un autre pour être optimales (la mieux adaptée et la moins chère à la fois). Il s'agit également d'un processus automatisé

Problème résolu : Happy Crypto Bunny avec la latence la plus faible possible

Les résultats de l'implémentation de PredictKube pour PancakeSwap en chiffres :

  • La latence a été réduite d'environ 400 à 500 ms à environ 80 ms. Il reste le même quelle que soit la charge, lors d'un IFO ou d'autres événements.
  • Nous avons rendu l'infrastructure toujours disponible, capable de gérer même 100 000 RPS.
  • Le coût de la facture cloud a été réduit de plus de 50 %.
PredictKube a été implémenté en février

Grâce à la résolution des problèmes de surapprovisionnement et de sous-approvisionnement, à une mise à l'échelle au bon moment, à l'autorotation des nœuds et à la sélection automatique des nœuds les mieux adaptés, la facture du cloud a fondu jusqu'à devenir optimale.

Un autre avantage intéressant est que PredictKube n'est pas un service tiers. Il s'agit plutôt d'un implant qui élargit toutes les possibilités de mise à l'échelle. Une fois défini, le modèle d'IA intégré continue d'apprendre à partir des données autorisées et devient encore plus précis. En fonction de l'état du marché et de la plateforme et de l'apparition de nouvelles technologies, PredictKube bénéficiera également d'une autre mise à jour.

Effets bonus de l'autoscaler prédictif implémenté

La mise en œuvre de l'outil de dimensionnement automatique prédictif récompense un travail prudent et méticuleux avec des flux de données de toutes sortes à l'intérieur et à l'extérieur de l'infrastructure. Ce n'est qu'en possédant suffisamment de données sur votre trafic, une collecte attentive de chaque accès et de chaque demande que vous pouvez donner suffisamment de « nourriture » pour que le modèle devienne efficace et vraiment utile. Sans données, il sera toujours adapté aux données primaires avec lesquelles nous l'avons entraîné.

La clarté et l'organisation de vos données sont donc indispensables pour renforcer votre infrastructure informatique à l'aide d'un outil de dimensionnement automatique.

L'équipe technique à l'origine de la solution : le discours direct du CTO

L'idée d'un tel outil nous est apparue alors que Dysnix travaillait sur des projets tels que ZKSync. Parfois, de simples algorithmes ne permettaient pas de redimensionner correctement. Nous avons donc dû inventer autre chose. Bien sûr, il existe des projets pour lesquels vous n'avez pas besoin d'une mise à l'échelle prédictive. Il suffit d'ajouter quelques règles de dimensionnement et d'indiquer au système ce qu'il doit faire en cas de pic de trafic.

Nous avons commencé à réunir une équipe d'experts pour créer une solution qui donnerait un résultat fiable dans des circonstances incertaines.

Sin embargo, no era un equipo grande: un arquitecto, dos ingenieros líderes de DevOps, un ingeniero senior de DevOps, un desarrollador líder de IA y dos de sus asistentes. Juntos, logramos crear y enseñar el modelo central de IA que se volvió fácilmente ajustable y omnívoro para los datos sobre el volumen de tráfico y las métricas comerciales. Planeamos hacer de PredictKube una solución independiente para que el proyecto la instalara y configurara de una vez por todas, manteniéndonos independientes de nosotros como creadores.

Outre nos clients, nous avons travaillé en étroite collaboration avec Communauté KEDA, en recueillant leurs commentaires et en ajustant PredictKube en conséquence. Ces produits ne sont donc jamais la réalisation personnelle d'une seule entreprise, mais plutôt la création mutuelle d'une communauté bienveillante.

Impacts à long terme et différés de la mise à l'échelle automatique pour les projets Web3

Désormais, la mise à l'échelle automatique fait partie intégrante du futur projet vial Web3. De la réduction de la consommation d'énergie et de l'empreinte carbone à la simple réduction des coûts, chaque raison motive la mise en place d'une mise à l'échelle. Certains effets de la mise à l'échelle de tels projets vont au-delà de l'avenir le plus proche, mais il convient de les mentionner.

Impacts potentiels à long terme de la mise en œuvre de l'autoscaling

  • Adoption accrue
    Une solution de mise à l'échelle efficace permettra de gérer un plus grand nombre d'utilisateurs et de transactions sans une croissance technique importante.
  • Sensibilisation aux écosystèmes
    Les plateformes évolutives sont plus faciles à intégrer et à associer à d'autres services. La flexibilité et la gestion des ressources de base de tels projets peuvent être les caractéristiques les plus attrayantes pour les partenaires tout en créant un paysage technique commun.
  • Une meilleure sécurité
    Les solutions de dimensionnement appropriées, en particulier les solutions de couche 2, nécessitent des mécanismes de sécurité robustes. Grâce à la mise à l'échelle automatique, les causes d'erreur humaine sont réduites. Ainsi, la sécurité globale est bien meilleure.
  • Un avantage concurrentiel
    Comme les projets peuvent être bien développés, ils surpassent les concurrents confrontés à des problèmes d'évolutivité.
  • Rentabilité
    Les projets optimisés ne dépensent pas un centime pour des ressources distribuées de manière inefficace.

Effets différés auxquels vous pouvez vous attendre après la mise en œuvre de l'autoscaling

Creciente descentralización: la optimización completa de los recursos podría afectar la distribución de roles en la cadena de bloques. Por ejemplo, los proyectos dependen de un conjunto más pequeño de validadores o nodos para lograr eficiencia, que pueden centralizar el control. Sin embargo, como blockchain demuestra características de autorregulación, este efecto se puede evitar.

La deuda técnica apareció debido a una implementación rápida y descuidada: la implementación de soluciones rápidas para la escalabilidad puede generar deuda técnica. Las soluciones listas para usar funcionan para el proyecto sin necesidad de modificaciones ni personalización. El aumento de la deuda técnica siempre genera gastos adicionales y una pérdida de enfoque en la dirección principal del crecimiento.

Desafíos de interoperabilidad para proyectos con múltiples conexiones externas: a medida que los proyectos implementan su solución de escalamiento personalizada, la interoperabilidad entre plataformas o cadenas de bloques puede convertirse en un desafío.

Dependencia de soluciones de terceros: Cada vez que delegas una parte vital de tu arquitectura al proveedor de servicios, a la larga te llevas un dolor de cabeza. No puede estar seguro de la estabilidad y disponibilidad del 100% de cualquier solución que no esté totalmente bajo su control.

Por eso es más seguro mantener todas las soluciones de escalado automático implementadas en el núcleo de su proyecto.

La mise à l'échelle automatique devenant une fonctionnalité incontournable, toute aventure Web3 sera plus viable, plus stable et plus prévisible. Essayer des solutions telles que PredictKube vous aidera à déterminer ce qui convient le mieux à votre cas.

Daniel Yavorovych
CTO and Co-founder at Dysnix
Brainpower and problem-solver, meditating and mountain hiking.
Table des matières
Articles connexes
Abonnez-vous au blog
La meilleure source d'informations pour le service client, les conseils de vente, les guides et les meilleures pratiques du secteur. Joignez-vous à nous.
Merci de votre inscription au blog Dysnix
Vous serez désormais le premier à savoir quand nous publierons un nouvel article
J'ai compris
Oups ! Une erreur s'est produite lors de l'envoi du formulaire.
Copié dans le presse-papiers
Collez-le où vous voulez