Serverloses JavaScript wird verwendet, um serverlose Webanwendungen mit minimaler Latenz zu erstellen.
Nach Lektüre dieses Artikels können Sie Folgendes:
Link zum Artikel kopieren
Serverloses JavaScript ist JavaScript-Code, der einen Teil oder eine komplette Anwendung umfasst, nur läuft, wenn er angefordert wird, und nicht auf proprietären Servern gehostet wird. Er ermöglicht es Entwicklern, leistungsfähige serverlose Anwendungen mit niedriger Latenz herzustellen (so wie JAMstack applications), die im Netzwerk laufen, und viele Probleme zu vermeiden, die mit anderen serverlosen Anwendungen in Zusammenhang gebracht werden, z. B. Kaltstarts.
Serverloses JavaScript wird in einem Edge-Netzwerk oder von einem HTTP-Cachedienst gehostet, der Inhalte speichert, um schnell auf HTTP-Anfragen zu antworten. Entwickler können JavaScript-Funktionen schreiben und bereitstellen, die HTTP-Anfragen verarbeiten, bevor sie den ganzen Weg bis zum Ursprungsserver zurücklegen.
Mit serverlosem JavaScript ist es möglich, die Funktionalität vorhandener Anwendungen zu erweitern und die Nutzererfahrung zu verbessern, indem Code an der Edge ausgeführt wird, oder eine neue, vollständig serverlose Anwendung zu erstellen, die schnell und stark skalierbar ist. Cloudflare Workers ist eine serverlose JavaScript-Plattform.
Varnish ist ein Web-Accelerator, der dazu dient, Webanwendungen zu beschleunigen und die Website-Performance zu verbessern. Es handelt sich um einen Reverse-Proxy mit HTTP-Zwischenspeicherung, was bedeutet, dass er vor jedem Webserver sitzt und HTTP-Traffic zu und von diesem Server durch Zwischenspeichern aller Inhalte beschleunigt, die häufig von Webclients angefordert werden. Die Varnish Configuration Language (VCL) wird zusammen mit Varnish verwendet, um es Entwicklern zu ermöglichen, die Art anzupassen, auf die Varnish Web-Anfragen verwaltet.
VCL ist eine Konfigurationssprache, die entwickelt wurde, um den Varnish-Cache einfach konfigurieren zu können. Es ist keine vollständige Programmiersprache. VCL ist nicht flexibel genug, um robuste Anwendungen zu erstellen oder zu erweitern. Im Vergleich zu JavaScript ist es in seinen Möglichkeiten eingeschränkt. Darüber hinaus wird VCL nicht außerhalb von Varnish-Implementierungen verwendet, und daher sind die meisten Entwickler nicht damit vertraut. Im Gegensatz dazu ist JavaScript allgegenwärtig und wird bereits weitläufig zur Erstellung von Anwendungen eingesetzt. Durch die Verwendung von JavaScript in einer serverlosen Architektur können Entwickler komplette Anwendungen in einer Sprache erstellen, mit denen sie vertraut sind.
Serverloses JavaScript ermöglicht es einer größeren Gruppe von Entwicklern, serverloses Computing an der Edge einzusetzen und eine größere Vielfalt von Anwendungen zu erstellen.
Serverloses JavaScript läuft in einem Netzwerk mit HTTP-Zwischenspeicherung, das näher am Endbenutzer liegt als Code, der in einem Ursprungsserver gehostet wird. Infolgedessen müssen Anfragen nicht den ganzen Weg bis zum Ursprungsserver und zurück reisen, und die Anwendung antwortet viel schneller auf Interaktionen von Benutzern. Je mehr geographisch verteilte Edge-Standorte ein Cache-Netzwerk hat, desto mehr wird die Latenz reduziert.
In einem serverlosen Modell werden Anwendungen in Funktionen aufgeteilt, und Funktionscode wird als Reaktion auf bestimmte Ereignisse ausgeführt. Sonst wird er nicht ausgeführt. Das Ereignis, das serverloses JavaScript auslöst, ist eine HTTP-Anfrage. Entwickler können die Art von HTTP-Anfragen anpassen, auf die ihre JavaScript-Funktionen reagieren, und wie die HTTP-Anfrage geändert oder erfüllt wird.
Das ist eine Anfrage, die über HTTP (Hypertext-Transfer-Protokoll) von einem Client an einen Server gesendet wird. Browser übersetzen Benutzeraktionen wie angeklickte Links oder eingereichte Formulare in HTTP-Anfragen. Die Anfrage wird dann weiter zum Server gesendet, und der Server sendet eine HTTP-Antwort, um die Anfrage zu erfüllen. Eine HTTP-Anfrage erfolgt auch, wenn eine Anwendung einen API-Aufruf vornimmt.
HTTP-Caching bedeutet, dass ein Server oder ein Browser eine Kopie einer Antwort auf eine HTTP-Anfrage eines Benutzers speichert, um schnellere Antworten auf zukünftige Anfragen zu ermöglichen. Ein CDN-Server ist ein Beispiel eines HTTP-Cache. Manche HTTP-Cachedienste ermöglichen es Entwicklern, die Funktionsweise von HTTP-Caching für ihre Anwendungen anzupassen.
Cloudflare ist ein Edge-Netzwerk mit HTTP-Caching mit Rechenzentren auf der ganzen Welt und ermöglicht es Entwicklern, ihr eigenes JavaScript am Netzwerkrand zu schreiben und bereitzustellen. Im Cloudflare-Netzwerk findet HTTP-Caching nicht in einem bestimmten Server statt, sondern innerhalb des Rechenzentrums, das der Quelle der HTTP-Anfrage am nächsten ist.
Service Workers sind Skripts, die Browser herunterladen und ausführen, um individuell angepasste Benutzererfahrungen zu schaffen. Service Workers ermöglichen Features wie Pushbenachrichtigungen, Hintergrundsynchronisierung und Offline-Funktionalität im Browser. Sie werden in JavaScript geschrieben und fangen HTTP-Anfragen ab, ändern und beantworten sie, bevor die Anfragen das Internet erreichen.
Service Workers können auf HTTP-Anfragen antworten, ohne den Webserver zu kontaktieren
Service Workers können HTTP-Anfragen und Antworten ändern
Cloudflare Workers sind eine Plattform, die es serverlosen Funktionen ermöglicht, so nahe wie möglich am Endbenutzer ausgeführt zu werden. Im Wesentlichen wird der serverlose Code selbst im Netzwerk „zwischengespeichert“ und ausgeführt, wenn der richtige Anfragetyp empfangen wird. Cloudflare Workers werden in Anlehnung an die Service-Workers-API in JavaScript geschrieben, was bedeutet, dass sie die gesamte von Service Workers angebotene Funktionalität nutzen können. Sie setzen das Chrome-V8-Modul zur Ausführung ein. Cloudflare-Workers-Code wird in Cloudflares ausgedehntem Netzwerk von Rechenzentren auf der ganzen Welt gehostet.
Chrome V8, auch einfach als „V8“ bekannt, ist ein JavaScript-Modul, das Google zum Kompilieren, Optimieren und Ausführen von JavaScript entwickelt hat. Durch Verwendung von V8 zur Ausführung von JavaScript-Code wird die Startzeit für JavaScript Workers beträchtlich reduziert, wodurch in den meisten Fällen das „Kaltstart“-Problem beseitigt wird. V8 wird auch stark auf Sicherheitsrisiken hin analysiert und ist somit ideal zur sicheren Ausführung von JavaScript-Code.
Einer der Hauptunterschiede zwischen Cloudflare Workers und Service Workers besteht darin, dass Service Workers clientseitig ausgeführt werden und vom Browser des Benutzers heruntergeladen werden müssen, während Cloudflare Workers am Rand des Cloudflare-Netzwerks zwischen dem Benutzer und dem restlichen Internet und effektiv im Netzwerk selbst laufen.
Erfahren Sie mehr über Cloudflare Workers und den Grund für die Erstellung von Cloudflare Workers.