Dies ist eine Geschichte darüber, wie PancakeSwap dank seiner hohen Verfügbarkeit, verbesserten UX und seines Autoscaling-Herzens zu einem der größten DEX-Unternehmen der Welt wurde.
PancakeSwap ist eine dezentrale Börse (DEX), die im September 2020 auf der Binance Smart Chain (BSC) eingeführt wurde. Sie wurde zu einem der führenden DEXs auf der BSC und gewann aufgrund der hohen Gasgebühren für Ethereum, die im Zusammenhang mit ihrer Markteinführung anfielen, erheblich an Bedeutung.
Diese Plattform wurde schnell berühmt dank niedriger Gebühren, schnellem Transaktionsaustausch, vielfältigen Token-Angeboten, einer benutzerfreundlichen Oberfläche, intelligentem Marketing und kundenorientiertem Support. Als die Anzahl der Benutzer dieses DEX und der Liquiditätspool zunahmen, wurde die gesamte Plattform als zuverlässiger, sicherer und stabiler angesehen. Hier ist die positive Feedback-Schleife der Träume eines jeden DeFi-Projekts!
Die positive Aufmerksamkeit von Binance, das Abhalten von Krypto-Events wie IFO und sogar einfache alltägliche Benutzeraktivitäten begannen, die Belastungsgrenzen des Datenverkehrs herauszufordern und zu überschreiten. Gleichzeitig änderte die einfache Skalierung der Servermenge — die Überversorgung — nicht viel an der Situation, da die gigantischen Ressourcen, die gekauft wurden, um die Verkehrsspitzen abzudecken, in den regulären Perioden ungenutzt blieben.
PancakeSwap sollte für seine Kunden zuverlässig bleiben, indem es dieses Problem löst.
Kryptohändler werden nicht warten, bis Ihr Server nach einem Ausfall wieder auf die Beine kommt. Sie öffnen X oder Reddit und starten einen Thread über 1000 Gründe, warum Sie diese oder jene Plattform nicht für den Handel nutzen sollten. Das will jeder DEX vermeiden. Die Leute machen sich Sorgen um ihr Geld, und es ist natürlich, dass sie die höchsten Verfügbarkeitserwartungen für Handelsplattformen wie PancakeSwap haben.
Um diese Herausforderung zu meistern, nutzte das Dysnix-Team all seine Erfahrung und seinen Verstand und implementierte einen prädiktiven Kubernetes-Autoscaler namens PredictKube, um PancakeSwap zu unterstützen und es stabiler zu machen, jederzeit verfügbar zu sein und den Verkehr abzuwickeln. Bei dieser Implementierung halfen die Ingenieure PancakeSwap GCP-Ressourcen mit maximalem Gewinn nutzen. PredictKube hat eine Vielzahl von Problemen gelöst, die bei Handelsplattformen und anderen Web3-Projekten häufig auftreten.
Ineffiziente Skalierung
PancakeSwap verwendete vor dem Treffen mit Dysnix beliebte Lösungen, wie öffentliche Endgeräte, aber sie schnitten nicht gut genug ab. Erstens konnte DEX diese Art von Verbindung aufgrund der Natur der öffentlichen Endpunkte nicht vollständig kontrollieren und sichern. Zweitens haben sie das Problem, das sie mit der Verkehrsbelastung hatten, nicht gelöst. Bei der herkömmlichen Skalierung standen zwei große Herausforderungen an:
Es ist besser, in Erwartung eines erhöhten Datenverkehrs mehr Ressourcen bereitzustellen, als zu reagieren, wenn der Anstieg bereits eintritt. In der Vorbereitungsphase sollte berücksichtigt werden, dass die Bereitstellung jedes neuen Knotens im Normalzustand einige Stunden in Anspruch nimmt.
Manuelle und automatisierte Skalierung sind in vielen Fällen immer noch anwendbar, jedoch nicht für die DEX-Plattform wie PancakeSwap. Und das ist der Grund:
Überversorgung
Dies ist ein typischer Zustand vieler Cloud-basierter Projekte. „Wie viel Serverplatz benötige ich im Folgemonat? Wenn ich zu viel nehme, gibt es keine Geld-zurück-Garantie, die mich vor diesem Fehler bewahrt. Wenn ich nicht genug nehme, verliere ich den Verkehr... „— diese Gedanken kommen Ihnen vielleicht bekannt vor.
Die Strategie der Überversorgung zwingt Sie dazu, viele und viele weitere zu kaufen, um jeden Verkehrsfall abzudecken, selbst wenn Sie einen Anstieg pro Monat haben. Wie auf dem Bild unten zahlen Sie immer für Tatsächliche Knoten (rote Linien), während Sie die meiste Zeit fünfmal weniger benötigen.
Dieses Bild ist auch ein Spoiler einer Verkehrsvorhersagefunktion von PredictKube, sodass Sie sehen können RPC aktuell vs. RPC vorhergesagt im Vergleich.
Latenzspitzen
Wenn RPS schnell wächst und die verfügbaren Ressourcen dem nicht gewachsen sind, kommt es zu Latenzspitzen.
Während solcher Episoden ist das System überlastet und nicht verfügbar, Transaktionen können verloren gehen und die Benutzererfahrung sinkt. Um dieses Problem zu lösen, müssen Sie über genügend Ressourcen verfügen und den Datenverkehr so verteilen, dass keine Anzeichen von Verzögerungen in der Schnittstelle und im System insgesamt auftreten. Wenn die Überlastung zu groß ist, ist die Ausfallzeit da; alles sollte neu gestartet werden.
Auswirkungen auf das Geschäft: Verkehrsverlust und unbefristetes Serviceniveau
Diese Herausforderungen standen auf dem Weg zur Entwicklung des PancakeSwap. Die schlechte Benutzererfahrung, sogar die regelmäßigen Ausfallzeiten und die hohe Latenz können für Tausende von Händlern keine Grundlage für den zuverlässigen DEX sein. Der Verlust von Traffic führt zu unvollendeten, verzögerten oder stornierten Transaktionen. Ein verschwommenes Serviceniveau ist ein vages Versprechen, das niemals das Geld der Leute anzieht.
Und all diese Herausforderungen waren mit PredictKube lösbar.
PredictKube, der proaktive Autoscaler für Kubernetes von Dysnix, arbeitet nach einem KI-Modell und ist mit GCP, Azure und AWS kompatibel. Es hilft, eine Überversorgung zu vermeiden, indem es den Verkehrstrend vorhersagt und die Ressourcen im Voraus ausgleicht. Es ist einfach, anpassbar, schnell erlernbar und anpassungsfähig.
Im Kern erweitert es die GKE-Möglichkeiten vollständig und umfasst Kubeflow-, TensorFlow- und ElasticSearch-Funktionen.
Diese Lastprognose basiert auf zwei Arten von Daten.
Erstens ermöglichen uns historische Daten, den üblichen Verkehrstrend vorherzusagen. Zweitens können wir anhand von Geschäftskennzahlen (aus mehreren Quellen) unvorhersehbare Ereignisse erraten, indem wir Indikatoren berücksichtigen, die nichts mit dem Verkehr zu tun haben.
Somit decken die prädiktive Skalierung und die ereignisbasierte Skalierung alle Fälle ab, die verfolgt und abgedeckt werden müssen, um proaktiv auf die Laständerung reagieren zu können.
Dieser Prozess basiert auf einem ständigen Ausgleich der Ressourcen für die aktuelle und bevorstehende Last. Der gesamte Knoten benötigt Zeit, um gestartet zu werden. Je nach Prognose beginnt das Setup also ernsthaft im Voraus. Das Herunterfahren nimmt weniger Zeit in Anspruch, muss aber pünktlich erfolgen. Außerdem verfolgt das System die Gesundheitsindikatoren für jeden Knoten. Wenn der Knoten langsamer wird, weil er zu überlastet oder überladen ist, wechselt der Verkehr automatisch zu einem fehlerfreien Knoten, und der langsame Knoten wird bereinigt.
Optimale Instanztypen beeinflussen die Geschwindigkeit der Verkehrsverarbeitung und die Gesamtproduktivität. Abhängig von der Verkehrssituation, der Art der Belastung und dem vorhergesagten Muster können die Instanzen leicht von einem Typ auf einen anderen umgestellt werden, um den optimalen Typ zu wählen (der am besten geeignete und gleichzeitig kostengünstigste). Dies ist ebenfalls ein automatisierter Prozess
Ergebnisse der PredictKube-Implementierung für PancakeSwap in Zahlen:
Dank der gelösten Probleme wie Über- und Unterversorgung, termingerechte Skalierung, Autorotation von Knoten und automatische Auswahl der am besten geeigneten Knoten schmolz die Cloud-Rechnung dahin, bis sie optimal war.
Ein weiterer netter Bonus ist, dass PredictKube kein Drittanbieterdienst ist. Es ist eher ein Implantat, das alle Skalierungsmöglichkeiten erweitert. Einmal eingerichtet, lernt das KI-Modell weiter aus den erlaubten Daten und wird noch präziser. Je nach Markt- und Plattformstatus und dem Erscheinen neuer Technologien wird PredictKube auch ein weiteres Update erhalten.
Bonuseffekte des implementierten prädiktiven Autoscalers
Die Implementierung des Tools zur prädiktiven Autoskalierung ist eine Belohnung für die vorsichtige und akribische Arbeit mit Datenströmen aller Art innerhalb und außerhalb der Infrastruktur. Nur wenn Sie über genügend Daten über Ihre verkehrsorientierte Erfassung aller Treffer und Anfragen verfügen, können Sie dem Modell genügend „Nahrung“ geben, damit es effizient und wirklich hilfreich wird. Ohne Daten wird es immer noch an die Primärdaten angepasst, mit denen wir es trainiert haben.
Daher ist es eine Grundvoraussetzung für die Durchsetzung Ihrer IT-Infrastruktur mit einem Autoscaling-Tool, Ihre Daten kristallklar und übersichtlich zu halten.
Die Idee eines solchen Tools kam uns in den Köpfen, als Dysnix an Projekten arbeitete wie zkSync. Manchmal halfen einfache Algorithmen nicht bei der korrekten Skalierung, also mussten wir etwas anderes erfinden. Sicher, es gibt Projekte, bei denen Sie keine prädiktive Skalierung benötigen. Es reicht aus, ein paar Skalierungsregeln hinzuzufügen und dem System mitzuteilen, was im Falle einer Verkehrsspitze zu tun ist.
Wir haben begonnen, ein Expertenteam zusammenzustellen, um eine Lösung zu finden, die unter unsicheren Umständen ein zuverlässiges Ergebnis liefert.
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.
Neben unseren Kunden arbeiteten wir eng mit den KEDA-Gemeinschaft, sammelt Feedback von ihnen und passt PredictKube entsprechend an. Solche Produkte sind also niemals die persönliche Leistung eines Unternehmens, sondern eher die gemeinsame Schaffung einer fürsorglichen Gemeinschaft.
Jetzt ist Autoscaling ein unvermeidlicher Bestandteil des zukünftigen Vial-Web3-Projekts. Von der Senkung des Energieverbrauchs und des CO2-Fußabdrucks bis hin zu einfachen Kostensenkungen — jeder Grund motiviert zur Einrichtung einer Skalierung. Einige Auswirkungen der Skalierung solcher Projekte reichen über die nächste Zukunft hinaus, sollten aber erwähnt werden.
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.
Da Autoscaling zu einem unverzichtbaren Feature wird, wird jedes Web3-Abenteuer realisierbarer, stabiler und erwartungsvoller. Wenn Sie Lösungen wie PredictKube ausprobieren, können Sie herausfinden, was für Ihren Fall am besten geeignet ist.