Heim  >  Artikel  >  Web-Frontend  >  So erstellen Sie eine serverlose Backend-Anwendung mit React und AWS Lambda

So erstellen Sie eine serverlose Backend-Anwendung mit React und AWS Lambda

王林
王林Original
2023-09-26 13:07:411350Durchsuche

如何利用React和AWS Lambda搭建无服务的后端应用

So erstellen Sie eine serverlose Backend-Anwendung mit React und AWS Lambda

Einführung:
Mit der rasanten Entwicklung von Cloud Computing und serverloser Architektur beginnen immer mehr Entwickler, auf den Entwicklungsmodus für serverlose Backend-Anwendungen umzusteigen. Die serverlose Architektur bietet mehr Elastizität, einfache Skalierbarkeit und Kosteneffizienz, und AWS Lambda und React sind zu einer der beliebtesten Optionen für die serverlose Entwicklung geworden. In diesem Artikel wird erläutert, wie Sie mit React und AWS Lambda eine serverlose Backend-Anwendung erstellen, und es werden spezifische Codebeispiele bereitgestellt.

1. Warum eine serverlose Architektur wählen?

  1. Elastische Erweiterung: Bei einer serverlosen Architektur werden Anwendungsressourcen nach Bedarf zugewiesen und können je nach tatsächlichem Bedarf flexibel erweitert oder reduziert werden, was die Skalierbarkeit und Elastizität des Systems erheblich verbessert.
  2. Hohe Verfügbarkeit: AWS Lambda verwendet eine verteilte Architektur ohne Single Point of Failure und gewährleistet so eine hohe Zuverlässigkeit und Verfügbarkeit.
  3. Kosteneffizienz: Durch die Serviceless-Architektur mit nutzungsbasierter Abrechnung können die Kosten deutlich gesenkt werden. Sie müssen nur für die Ausführung jeder Funktion bezahlen und vermeiden so den Mehraufwand, der durch die kontinuierliche Ausführung virtueller Maschinen in herkömmlichen Architekturen entsteht.
  4. Entwicklungseffizienz: Entwickler können sich in einer serverlosen Architektur auf das Schreiben von Funktionen und die Implementierung von Geschäftslogik konzentrieren, ohne sich um komplizierte Angelegenheiten wie Serververwaltung und Architekturwartung kümmern zu müssen.

2. Grundlegende Schritte zum Erstellen einer serverlosen Backend-Anwendung

  1. Bereiten Sie ein AWS-Konto vor: Öffnen Sie die offizielle AWS-Website (https://aws.amazon.com/), um sich zu registrieren und sich beim Konto anzumelden.
  2. Erstellen Sie eine Lambda-Funktion: Wählen Sie in der AWS-Konsole den Lambda-Dienst aus, klicken Sie auf Funktion erstellen und befolgen Sie die Anweisungen, um eine neue Lambda-Funktion zu erstellen. Sie können die Node.js-Laufzeitumgebung verwenden.
  3. Funktionscode schreiben: Schreiben Sie im Editor der Lambda-Funktion die Codelogik der Funktion. Hier ist ein einfaches Beispiel:
exports.handler = async (event) => {
    // 处理请求
    const response = {
        statusCode: 200,
        body: JSON.stringify('Hello from Lambda!'),
    };
    return response;
};
  1. Funktion bereitstellen: Nachdem Sie mit dem Schreiben des Funktionscodes fertig sind, klicken Sie auf Speichern und stellen Sie die Funktion bereit. Lambda weist automatisch einen eindeutigen ARN (Amazon Resource Name) zu, der in anderen Diensten verwendet wird.
  2. API-Gateway erstellen: Wählen Sie in der AWS-Konsole den API-Gateway-Dienst aus, klicken Sie auf API erstellen und befolgen Sie die Anweisungen, um ein neues API-Gateway zu erstellen.
  3. API konfigurieren und bereitstellen: Ordnen Sie auf der API-Gateway-Konfigurationsseite die neue Lambda-Funktion dem API-Gateway zu und nehmen Sie die erforderlichen Konfigurationen vor. Klicken Sie nach Abschluss der Konfiguration auf „API bereitstellen“.
  4. API testen: Suchen Sie in der Verwaltungsoberfläche von API Gateway die neu erstellte API und klicken Sie auf die Schaltfläche „Testen“. Geben Sie die relevanten Parameter ein und klicken Sie auf Ausführen, um zu testen, ob die API-Funktion normal ist.

3. Verwenden Sie React für die Front-End-Entwicklung serverloser Backend-Anwendungen.

  1. Erstellen Sie eine React-Anwendung: Geben Sie den folgenden Befehl in die Befehlszeile ein, um eine neue React-Anwendung zu erstellen.
npx create-react-app my-app
cd my-app
npm start
  1. Installieren Sie die erforderlichen abhängigen Bibliotheken: Um API Gateway zum Senden von Anforderungen verwenden zu können, müssen Sie die Axios-Bibliothek installieren. Geben Sie den folgenden Befehl in die Befehlszeile ein.
npm install axios
  1. Frontend-Code schreiben: Im Code der React-Anwendung können Sie die Axios-Bibliothek verwenden, um HTTP-Anfragen zu senden und die API-Gateway-Schnittstelle aufzurufen.
import React, { useState, useEffect } from 'react';
import axios from 'axios';

function App() {
  const [data, setData] = useState('');

  useEffect(() => {
    fetchData();
  }, []);

  const fetchData = async () => {
    try {
      const response = await axios.get('<API Gateway的URL>');
      setData(response.data);
    } catch (error) {
      console.error(error);
    }
  };

  return (
    <div>
      <h1>{data}</h1>
    </div>
  );
}

export default App;
  1. Führen Sie die React-Anwendung aus: Geben Sie den folgenden Befehl in die Befehlszeile ein, um die React-Anwendung zu starten.
npm start

Zu diesem Zeitpunkt haben wir den Prozess der Erstellung einer serverlosen Backend-Anwendung mit React und AWS Lambda abgeschlossen. Auf diese Weise können wir die Ressourcenzuteilung von Back-End-Anwendungen dynamisch an den tatsächlichen Bedarf anpassen, wodurch die Elastizität und Skalierbarkeit der Anwendung verbessert und gleichzeitig die Kosten gesenkt werden.

Fazit:
Serviceless-Architektur bietet ein effizienteres, flexibleres und zuverlässigeres Back-End-Anwendungsentwicklungsmodell. Mit AWS Lambda und React können wir problemlos serverlose Back-End-Anwendungen erstellen und diese im Front-End aufrufen und anzeigen. Ich hoffe, dass dieser Artikel jedem hilft, dieses Entwicklungsmodell zu verstehen und zu nutzen.

Das obige ist der detaillierte Inhalt vonSo erstellen Sie eine serverlose Backend-Anwendung mit React und AWS Lambda. 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