Home Technische Artikel Einführung: Serverlose Deep Request Inspection für den JAMstack
Applications

Einführung: Serverlose Deep Request Inspection für den JAMstack

About The Author

Outline

Die Entwicklung des JAMstack wird deutlich, und serverlos ist es nicht mehr nur für APIs. Die Skalierung des JAMstack auf große Websites mit häufigen Änderungen hängt von serverlosen Funktionen ab. Entwickler, die Inkremental Static Regeneration (ISR), Distributed Persistent Rendering (DPR) oder etwas dazwischen verwenden, benötigen einfachere Möglichkeiten, ihren serverlosen Code zu beobachten und zu debuggen, insbesondere in der Produktion.

Layer0 bietet bereits ein Streaming-Protokoll der Konsolenausgabe Ihres serverlosen Codes, der in unserer Cloud ausgeführt wird. Leider ist die Ausgabe der Console.log()-Anweisungen einer Anwendung selten informativ, da Entwickler voraussehen müssen, welche API-Aufrufe problematisch sein könnten, bevor ein Problem auftritt, damit sie einen umfassenden Logging-Code umschreiben können. Das passiert selten. Anfang des Monats haben wir Deep Request Inspection (DRI) veröffentlicht. Die Anforderungsinspektion ist wie der Chrome Devtools Network Inspector, aber für Ihren serverlosen Code. Sie können Methode, Header und Text jeder eingehenden Anforderung an Ihren serverlosen Code sowie die letzte Antwort anzeigen, die generiert wird. Noch besser: Sie können dieselben detaillierten Netzwerkinformationen für jede Upstream-API-Anforderung anzeigen, die Ihr serverloser Code macht. Und wir haben sogar eine hilfreiche Funktion „Copy as curl“ hinzugefügt, mit der es sehr einfach ist, von der Inspektion eines API-Aufrufs zur lokalen Reproduktion zu wechseln. Es ist ein Traum! Sehen Sie sich das Tutorial unten an.

Die Anforderungsinspektion ist jetzt für alle Pläne auf Layer0 (jetzt Edgio) allgemein verfügbar und kompatibel mit jedem Full-Stack-Framework, das serverless unterstützt, einschließlich Next.js, Nuxt.js, Angular und SvelteKit/Sapper. In Zusammenarbeit mit unseren Beta-Kunden haben sie die Anforderungsinspektion bereits für mehrere Szenarien als nützlich empfunden:

  • Lösen von Produktionsproblemen: Beheben von Problemen, die „nur in der Produktion“ auftreten und lokal nicht reproduziert werden können
  • Darstellung asynchronen Codes: Verstehen Sie den genauen API-Fluss von komplexem Code mit vielen asynchronen Routinen
  • Isolieren langsamer APIs: Überprüfen Sie genau, wann API-Aufrufe getätigt werden und wie lange sie dauern

Deep Request Inspection ist eine der Möglichkeiten, wie wir Entwicklern dabei helfen, das Beste aus serverless herauszuholen. Wir bieten Entwicklern bereits die Möglichkeit, die Cache-Trefferrate ihres serverlosen Codes zu messen und den Cache nach Route oder einzelnen Seiten zu löschen, unabhängig davon, ob sie durch die inkrementelle statische Generierung oder unsere anderen Caching-Methoden generiert wurden. Tatsächlich hat einer unserer E-Commerce-Kunden Layer0 mit seinem Auftragsmanagementsystem verbunden und löscht dynamisch über 20.000 einzelne Produkte pro Stunde, wenn sich der Lagerbestand ändert. So können sie eine E-Commerce-Website sofort laden, obwohl ein großer Katalog häufig geändert wird. Mit Blick auf die Zukunft freuen wir uns darauf, eine Inspektion auf Anfrage durchzuführen und Ihnen noch mehr Beobachtungsmöglichkeiten für Ihren serverlosen Code zu bieten, einschließlich Speicherauslastung, Parallelität und API-Leistung. Wir helfen Ihnen sogar, die Upstream-APIs zu isolieren, die die Leistungsprobleme verursachen.

Wir freuen uns, wie tief greifende Anforderungsinspektion und diese bevorstehenden Funktionen Sie mit serverless auf der Layer0-Plattform (jetzt Edgio) produktiver machen werden.