Heim >Web-Frontend >js-Tutorial >Serverlose Funktionen: Eine Anleitung zur Verwendung und Bereitstellung

Serverlose Funktionen: Eine Anleitung zur Verwendung und Bereitstellung

Lisa Kudrow
Lisa KudrowOriginal
2025-02-10 09:30:11442Durchsuche

Serverless Functions: A Guide to Usage and Deployment

In den letzten Jahren sind serverlose Funktionen (manchmal als "serverlos" oder "serverloses Computer" bezeichnet) zu einer beliebten Technologie geworden. Es gibt jedoch immer noch viel Verwirrung über diesen Begriff. Wie führe ich Code ohne Server aus? Was sind die Vor- und Nachteile dieser Technologie? Unter welchen Umständen kann es verwendet werden? In diesem Artikel hoffe ich, diese Fragen zu beantworten und Ihnen einen guten Überblick über die Technologie zu geben.

Schlüsselpunkte

  • Mit der serverlosen Funktion können Entwickler Code ohne Verwaltung von Servern ausführen.
  • Aufgrund seines Abrechnungsmusters (auf der Grundlage der tatsächlichen Berechnungszeit berechnet, die normalerweise in Millisekunden berechnet werden) sind diese Funktionen für sporadische oder leichte Arbeitsbelastungen kostengünstig.
  • Während serverlose Funktionen automatisch skalieren, um den Verkehr zu verarbeiten, eignen sie sich aufgrund der maximalen Ausführungszeitbeschränkung, die von Cloud -Anbietern auferlegt wurde, am besten für kurze Lebenszyklusprozesse geeignet.
  • Gemeinsame Anwendungsfälle für serverlose Funktionen umfassen einfache Backend -Aufgaben wie Formular Mailer, geplante Cron -Jobs und Bildverarbeitungsaufgaben, die ihre Vielseitigkeit bei der Behandlung einer Vielzahl kleiner Backend -Operationen beweisen.
  • Bereitstellen serverloser Funktionen beinhaltet das Erstellen von Funktionscode, das Verpacken mit den erforderlichen Abhängigkeiten und das Hochladen in einen Cloud -Anbieter, wobei spezifische Details vom Anbieter und der verwendeten Technologie variieren.

Was ist eine serverlose Funktion?

Das erste Mal, als ich den Begriff "serverlos" hörte, würde sicherlich Neugier wecken. "Wie kann man Code im Web ohne Server ausführen?" Was es tatsächlich bedeutet, ist, dass Sie als Entwickler sich keine Sorgen um den Server machen müssen, auf dem der Code ausgeführt wird. Hardwarekonfiguration, Netzwerkkonfiguration, Software -Installation und Erweiterung werden von serverlosen Anbietern abstrahiert.

Aus Sicht der Entwicklung sind serverlose Funktionen Codepakete, die Sie in einen serverlosen Anbieter wie AWS oder Google hochladen. Dieser Code kann so konfiguriert werden, dass er auf Anfragen über URL reagiert, wie geplant ausgeführt wird (d. H. Durch Cron -Jobs) oder auf Anrufe von anderen Diensten oder serverlosen Funktionen aufgerufen wird.

serverlose Funktionen sind ideal, um Front-End-Anwendungen ohne Komplexität und Kosten für den Ausführen eines vollständigen Servers zu erweitern.

Auf dem anderen Extrem können Sie auch die gesamte Anwendung mit serverlosen Funktionen erstellen. In Kombination mit anderen Cloud -Diensten, die Dateispeicher, Datenbanksysteme und Authentifizierung bereitstellen, können große, robuste und skalierbare Anwendungen ohne Konfiguration eines einzelnen Servers erstellt werden.

Vorteile serverloser Funktionen

Die serverlose Funktion wird in einem Mini -Container ausgeführt, der bei Bedarf gestartet wird. Sie sind für ziemlich kurze Läufe ausgelegt, daher unterliegt die Abrechnung. Im Gegensatz zu vollständigen Serverinstanzen, die normalerweise stundenlang in Rechnung gestellt werden, werden serverlose Funktionen normalerweise in GB -Sekunden in Rechnung gestellt. Da es sich bei der kürzesten Abrechnungszeit um Millisekunden handelt, werden niederfrequente oder sporadische Workloads als serverlose Funktionen ausgeführt, die viel kostengünstiger sind als herkömmliche Serverinstanzen. Leichte Arbeitsbelastungen und Prototypen können sogar unter die freie Stufe einiger Anbieter fallen.

On-Demand-Anrufe serverloser Funktionen bedeuten, dass sie schnell und einfach skaliert werden können, ohne dass Entwickler zusätzliche Arbeit leisten müssen. Dies macht sie ideal für Situationen, in denen sich der Verkehr unvorhersehbar vermehrt, da automatisch mehr Funktionsinstanzen zur Behandlung der Last bereitgestellt werden. Danach wird die Funktion skaliert, was bedeutet, dass Sie nicht für ungenutzte Kapazitäten bezahlen müssen.

Ein wesentlicher Vorteil des serverlosen Modells besteht darin, dass keine Serververarbeitung erforderlich ist. Das Ausführen einer Webanwendung erfordert viel Zeit- und Serververwaltungskompetenz, um die Software mit Sicherheitspatches auf dem neuesten Stand zu halten und sicherzustellen, dass der Server für Sicherheit und hohe Leistung ordnungsgemäß konfiguriert ist. Für Start-ups und kleine Unternehmen ist die Einstellung von Personen, um das Servermanagement zu bewältigen, ein großer zusätzlicher Overhead. Mit Serverless können sich Entwickler auf das Erstellen von Lösungen konzentrieren.

Nachteile serverloser Funktionen

Natürlich ist keine Technologie perfekt und serverlose Funktionen haben ihre Mängel. Wie ich bereits erwähnt habe, ist das Design des serverlosen Modells von kurzer Dauer. Da die maximale Ausführungszeit in wenigen Minuten beträgt (z. B. 15 Minuten bei AWS und 9 Minuten bei Google), ist sie nicht für langjährige Jobs geeignet, z. B. für die Bearbeitung großer Datenmengen.

Ein weiteres weit verbreitetes Problem ist die Kaltniederlaufzeit. Dies ist die Zeit, die ein Anbieter benötigt, um seinen Container zu konfigurieren und zu initialisieren, bevor die serverlose Funktion mit dem Ausführen bereit ist. Nachdem die Funktion ausgeführt wurde, wird der Container eine Weile aufbewahrt, um wiederverwendet zu werden, wenn der Code erneut ausgeführt wird. Diese Verzögerung von "Cold Start" kann eine Verzögerung von einer halben Sekunde auf eine Sekunde in die Reaktionszeit einer Funktion hinzufügen. Es gibt einige Problemumgehungen, darunter das Warmup -Plugin für das serverlose Framework, das Ihre Funktionen wie geplant erfüllt, um den Container aktiv zu halten.

Während serverlose Funktionen Sie ermöglichen, sich Sorgen um die Konfiguration und Wartung von Server zu vermeiden, bedeutet dies nicht, dass es keine Lernkurve gibt. Das Erstellen von Anwendungen mit Serverless erfordert eine andere Denkweise als die Verwendung herkömmlicher monolithischer Codebasis. Sie müssen Ihren Code auf unterschiedliche Weise erstellen und die Funktionen in kleinere und unabhängigere Dienste unterteilen, um den Einschränkungen serverloser Funktionen zu erfüllen. Die Bereitstellung ist ebenfalls komplexer, da jede Funktion unabhängig versioniert und aktualisiert wird.

Manchmal gibt es auch einen Hinweis auf Probleme mit Anbieter-Lock-In-Problemen, was ein Nachteil der serverlosen Technologie ist. Ab sofort haben die wichtigsten Anbieter in diesem Bereich (AWS, Google, Azure) ihre eigenen Implementierungs- und Management -Tools. Dies kann es schwierig machen, serverlose Anwendungen von einem Cloud -Anbieter auf einen anderen zu migrieren. Projekte wie Serverless Framework versuchen, abstrakte zugrunde liegende Dienste zu abstrakten, damit Anwendungen zwischen Anbietern portiert werden können.

serverloser Funktionsgebrauchsfall

Während serverlose Funktionen zum Erstellen ganzer Anwendungen verwendet werden können, schauen wir uns einige weniger ehrgeizige Anwendungsfälle an, in denen Serverless dem durchschnittlichen Entwickler zugute kommen kann.

Formular Mailingprogramm

Websites sind normalerweise vollständig statisch, mit Ausnahme des Kontaktformulars, das Kunden beim Senden an Benutzer per E -Mail senden möchten. Der Hosting-Anbieter der Website unterstützt möglicherweise serverseitige Skripts. Selbst wenn sie unterstützt wird, ist es möglicherweise keine Sprache, mit der Sie vertraut sind. Durch das Einstellen der serverlosen Funktion als Formular Mailer können Sie diese Funktion einer statisch gehosteten Website hinzufügen.

Cron -Zuordnung

Manchmal müssen Sie möglicherweise geplante Aufgaben im Hintergrund ausführen. In der Regel müssen Sie bezahlen, um den Server für den Cron -Job einzurichten, und dieser Server ist zwischen Jobs im Leerlauf. Bei serverlosen Funktionen zahlen Sie nur für die Zeit, die der Auftrag ausführen muss (wenn es sich innerhalb der kostenlosen Stufe befindet, zahlen Sie möglicherweise überhaupt nicht).

Miniaturgenerator

Angenommen, Ihre React -Anwendung ermöglicht es Benutzern, Fotos so hochzuladen, dass sie während der gesamten Anwendung als Avatare verwendet werden. Sie möchten das hochgeladene Bild ändern, damit Sie keine Bandbreite verschwenden, indem Sie ein viel größeres Bild bereitstellen, als Sie benötigen. Serverlose Funktionen können verwendet werden, um Upload -Anforderungen zu verarbeiten, die Größe der Bilder in den gewünschten Größen zu ändern und sie in Diensten wie S3 oder Google Storage zu speichern.

Praktisches Beispiel für die serverlose Funktion

Um ein tieferes Verständnis dafür zu erlangen, wie serverlose Funktionen funktionieren, schauen wir uns ein echtes Beispiel an. Wir erstellen eine statische Seite mit einem Anmeldeformular für Pressemitteilungen, das eine serverlose Funktion verwendet, um den Namen und die E-Mail-Adresse des Benutzers in Google-Tabellenkalkulationen zu speichern.

Abhängig vom Anbieter können serverlose Funktionen in mehreren Sprachen geschrieben werden, aber wir werden JavaScript verwenden, da Netlify Node.js -Funktionen unterstützt. Um das Lernen fortzusetzen, gehe ich davon aus, dass Sie die neueste Version von Node/NPM auf Ihrem lokalen Computer installiert haben.

(Die folgenden Schritte entsprechen dem ursprünglichen Beispiel. Um die Konsistenz aufrechtzuerhalten, werden hier keine wiederholten Übersetzungen durchgeführt.)

serverlos: Nur eine Mode oder eine Zukunft für das Backend?

serverless wird ebenfalls als Mode angeprangert und als die Zukunft von Backend -Anwendungen gefeiert. Die Lambda -Funktionen von Amazon gibt es seit 2014 und sind ein Schlüsselprodukt für AWS. Natürlich ist in vielen Fällen weiterhin die Flexibilität und Funktionalität eines realen Servers mit dem vollständigen Shell -Zugriff erforderlich.

Wie wir gesehen haben, machen die niedrigen Kosten für serverlose, Skalierbarkeit und geringe Wartungskosten jedoch eine gute Wahl für einige Arten von Workloads. Mit dem Aufkommen von immer mehr Büchern, Kursen, Frameworks und Diensten im serverlosen Ökosystem kann man mit Sicherheit sagen, dass serverlose Funktionen für lange Zeit existieren werden.

(Der folgende FAQ -Teil entspricht dem ursprünglichen Beispiel. Um die Konsistenz aufrechtzuerhalten, werden hier keine wiederholten Übersetzungen durchgeführt.)

Das obige ist der detaillierte Inhalt vonServerlose Funktionen: Eine Anleitung zur Verwendung und Bereitstellung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Arbeiten mit Formen in ReactNächster Artikel:Arbeiten mit Formen in React