Serverlose Apps mit Azure Cosmos DB

Cosmos DB
Functions

Lösungsmöglichkeiten

Dieser Artikel ist ein Lösungsvorschlag. Wenn Sie möchten, dass wir diesen Artikel um weitere Informationen ergänzen, z. B. potenzielle Anwendungsfälle, alternative Dienste, Überlegungen zur Implementierung oder Preisempfehlungen, lassen Sie es uns über Feedback auf GitHub wissen.

Sie können Azure Functions und Azure Cosmos DB verwenden, um global verteilte, skalierbare serverlose Anwendungen zu erstellen.

Aufbau

Architekturdiagramm, das die Funktionen zeigt, die von einer Onlinebestellung ausgelöst werden, sowie einen Datenbankänderungsfeed.

Laden Sie eine SVG-Datei dieser Architektur herunter.

Datenfluss

  • Ein Kunde gibt eine Bestellung auf einer E-Commerce-Website auf.

  • Die Bestellung löst eine Instanz von Functions aus. Die Funktion verarbeitet das Auschecken des Kunden und speichert Informationen zur Bestellung in Azure Cosmos DB.

  • Der Einfügevorgang der Datenbank löst ein Azure Cosmos DB-Änderungsfeedereignis aus.

  • Systeme, die Änderungsfeedereignisse abonnieren, werden benachrichtigt.

  • Die Änderungsfeedbenachrichtigungen lösen Functions-Instanzen aus:

    • Eine Funktion wendet Steuern auf die Bestellung an.
    • Eine Funktion verarbeitet die Bezahlung der Bestellung.
    • Eine Funktion führt die Bestellung aus.

Komponenten

  • Azure Functions ist eine ereignisgesteuerte serverlose Computeplattform. Bei Azure Functions können Sie Dienste mithilfe von Triggern und Datenbindungen im gewünschten Umfang integrieren.
  • Azure Cosmos DB ist eine global verteilte Datenbank mit Unterstützung mehrerer Modelle. Mit Azure Cosmos DB können Sie Durchsatz und Speicher für Ihre Lösungen elastisch voneinander über eine beliebige Anzahl von geografischen Regionen skalieren.

Szenariodetails

Microservices bieten zahlreiche Vorteile:

  • Sie bieten hoch skalierbare Lösungen.
  • Sie können jeden Dienst unabhängig voneinander bereitstellen.
  • Fehlerisolation lässt sich einfach durchführen, wenn Sie die Funktionalität auf separate Container beschränken.
  • Sie passen gut in eine DevOps-Umgebung.
  • Sie verkürzen die Markteinführungszeit, indem der Lebenszyklus der Softwareentwicklung beschleunigt wird.

Eine effiziente Möglichkeit zum Implementieren von Microservices besteht darin, eine serverlose Technologie zu verwenden. Diese Lösung verwendet Functions, ein Azure-Angebot, das eine serverlose Computeerfahrung bietet. Die Lösung verwendet Azure Cosmos DB für die Datenspeicherung. Azure Cosmos DB bietet einen Änderungsfeed, der sich in Functions integriert.

Mögliche Anwendungsfälle

Diese Lösung eignet sich für viele Bereiche:

  • E-Commerce
  • Retail
  • Bestandsverwaltung

Nächste Schritte

Sehen Sie sich die folgenden Architekturen an, die Azure Functions und Azure Cosmos DB umfassen:

Sehen Sie sich die folgenden Architekturen an, die Functions verwenden:

Sehen Sie sich die folgenden Architekturen an, die Azure Cosmos DB hervorheben: