Personalizacja z użyciem usługi Cosmos DB

Aplikacje interfejsów API
Container Instances
Cosmos DB

Pomysł na rozwiązanie

Jeśli chcesz, abyśmy rozszerzyli ten artykuł o więcej informacji, takich jak potencjalne przypadki użycia, alternatywne usługi, zagadnienia dotyczące implementacji lub wskazówki dotyczące cen, daj nam znać, GitHub opinie!

Generowanie spersonalizowanych rekomendacji dla klientów w czasie rzeczywistym przy użyciu ustawień spójności z małymi opóźnieniami i możliwością dostrajania w celu natychmiastowego wglądu w szczegółowe dane

Architektura

Diagram architektury Pobierz format SVG tej architektury.

Przepływ danych

  1. Użytkownik/kupujący jest logowania do aplikacji handlu elektronicznego przy użyciu własnych poświadczeń.
  2. Kupujący/użytkownik umieszcza zamówienie w usłudze Azure API Apps.
  3. Dane są przechowywane w Cosmos DB (Customer Order).
  4. Źródło zmian jest włączone w Cosmos DB i przetwarza wszystkie zmiany dla dostępnych zdarzeń.
  5. Korzystając Apache Spark usłudze Azure Data Bricks, dane są trenowane i przechowywane w usłudze Cosmos DB (Product+ User Vectors)
  6. Najnowsza rekomendacja zostanie pobrana przez interfejs użytkownika sklepu handlu elektronicznego przy użyciu Azure Container Service (interfejsy API rekomendacji).

Składniki

Ta architektura obejmuje następujące składniki:

  • Usługa Azure Web App jest częścią Azure App Service. Jest to oparta na protokołu HTTP usługa do hostowania aplikacji internetowych, interfejsów API REST i zaimek mobilnych. Możesz programować w ulubionym języku — .NET, .NET Core, Java, Ruby, Node.js, PHP lub Python. Aplikacje można łatwo uruchamiać i skalować w środowiskach opartych zarówno na systemie Windows, jak i Linux.

  • Usługa Azure Cosmos DB to baza danych z wieloma modelami, która może elastycznie obsługiwać dane na ogromną skalę. Usługa Azure Cosmos DB została zaprojektowana dla aplikacji, które są globalnie dystrybuowane w modelu z wieloma zapisami.

  • Źródło zmian zapewnia trwały rekord zmian w kontenerze w kolejności ich wystąpienia.

  • Azure Container Instances kontenery są uruchamiane na żądanie w środowisku Microsoft Azure serwerowym. Azure Container Instances to metoda o niskim poziomie siły uruchamiania kontenerów, która nie wymaga pełnej instalacji hosta platformy Docker ani platformy Kubernetes.

  • Azure Kubernetes Service automatyzuje wdrażanie, skalowanie i zarządzanie konteneryzowanych aplikacji, takich jak model rekomendacji.

  • Azure Databricks to platforma analizy danych zoptymalizowana pod kątem platformy Microsoft Azure usług w chmurze. Azure Databricks oferuje dwa środowiska do tworzenia aplikacji intensywnie przetwarzanych danych: Azure Databricks SQL Analytics i Azure Databricks Workspace.

Zagadnienia do rozważenia

Usługa API Management przed usługą kontenera zapewnia wiele korzyści, takich jak ograniczanie szybkości, obsługa wersji interfejsu API i zasady. Aby uzyskać więcej informacji, zapoznaj się z tematem Azure API Management.

Skalowalność

W usłudze Azure Cosmos DB można skonfigurować standardową (ręczną) lub autoskalowanie aprowizowanej przepływności dla baz danych i kontenerów. Automatyczne skalowanie aprowizowanej przepływności w usłudze Azure Cosmos DB umożliwia automatyczne i natychmiastowe skalowanie przepływności (RU/s) bazy danych lub kontenera. Przepływność jest skalowana na podstawie użycia, bez wpływu na dostępność, opóźnienie, przepływność lub wydajność obciążenia.

Azure Synapse zapewnia również natywne Apache Spark i może być uważana za alternatywną opcję tworzenia i trenowania modelu rekomendacji.

Skaluj klaster usługi AKS, aby spełnić wymagania dotyczące wydajności i przepływności. Należy zadbać o skalowanie w górę liczby zasobników w celu pełnego wykorzystania klastra oraz skalowanie węzłów klastra w celu spełnienia wymagań usługi.

Następne kroki