Usługa Azure Kubernetes w przetwarzaniu strumienia zdarzeń

Azure Kubernetes Service (AKS)
Azure IoT Hub
Azure Event Hubs
Azure Functions
Azure Cosmos DB

Pomysły dotyczące rozwiązań

Ten artykuł jest pomysłem na rozwiązanie. Jeśli chcesz, abyśmy rozszerzyli zawartość 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ć, przekazując opinię w usłudze GitHub.

W tym artykule opisano odmianę architektury opartej na zdarzeniach bezserwerowych, która działa w Azure Kubernetes Service (AKS) przy użyciu narzędzia KEDA scaler. Rozwiązanie pozyskuje strumień danych, przetwarza dane, a następnie zapisuje wyniki w bazie danych zaplecza.

Architektura

Diagram architektury przedstawiający przepływ danych opisany w tym artykule.

Pobierz plik programu Visio z tą architekturą.

Przepływ danych

  1. Usługa AKS z skalowaniem KEDA służy do automatycznego skalowania Azure Functions kontenerów na podstawie liczby zdarzeń, które należy przetworzyć.
  2. Zdarzenia docierają do centrum zdarzeń wejściowych.
  3. Funkcja platformy Azure została wyzwolona w celu obsługi zdarzenia przez funkcję desadowania i filtrowania. Ten krok filtruje niepożądane zdarzenia i usuwa partie odebranych zdarzeń przed przesłaniem do centrum zdarzeń wyjściowych.
  4. Jeśli de-batching and Filtering Azure Function nie uda się zapisać zdarzenia, zdarzenie zostanie przesłane do centrum zdarzeń Deadletter 1.
  5. Zdarzenia przychodzące do wyjściowego centrum zdarzeń wyzwalają przekształcenie funkcji platformy Azure. Ta funkcja platformy Azure przekształca zdarzenie w komunikat dla wystąpienia usługi Azure Cosmos DB.
  6. Zdarzenie jest przechowywane w bazie danych usługi Azure Cosmos DB.

Składniki

  • Azure Kubernetes Service (AKS) upraszcza wdrażanie zarządzanego klastra Kubernetes na platformie Azure przez odciążenie obciążenia operacyjnego na platformę Azure. Jako hostowana usługa Kubernetes platforma Azure obsługuje krytyczne zadania, takie jak monitorowanie kondycji i konserwacja.
  • KEDA to oparte na zdarzeniach autoskalowanie używane do skalowania kontenerów w klastrze Kubernetes na podstawie liczby zdarzeń, które należy przetworzyć.
  • Usługa Event Hubs pozyskiwa strumień danych. Usługa Event Hubs jest przeznaczona dla scenariuszy przesyłania strumieniowego danych o wysokiej przepływności.
  • Azure Functions jest opcją obliczeniową bezserwerową. Używa ona modelu opartego na zdarzeniach, w którym element kodu ( funkcja) jest wywoływany przez wyzwalacz.
  • Azure Cosmos DB to wielomodelowa usługa bazy danych dostępna w trybie bezserwerowym, opartym na użyciu. W tym scenariuszu funkcja przetwarzania zdarzeń przechowuje rekordy JSON przy użyciu usługi Azure Cosmos DB for NoSQL.

Uwaga

W przypadku scenariuszy Internetu rzeczy (IoT) zalecamy Azure IoT Hub. IoT Hub ma wbudowany punkt końcowy zgodny z interfejsem API Azure Event Hubs, dzięki czemu można użyć jednej z usług w tej architekturze bez istotnych zmian w przetwarzaniu zaplecza. Aby uzyskać więcej informacji, zobacz Łączenie urządzeń IoT z platformą Azure: IoT Hub i Event Hubs.

Szczegóły scenariusza

W tym artykule opisano architekturę opartą na zdarzeniach bezserwerową , która działa w usłudze AKS z usługą KEDA scaler. Rozwiązanie pozyskuje strumień danych, przetwarza dane, a następnie zapisuje wyniki w bazie danych zaplecza.

Aby dowiedzieć się więcej o podstawowych pojęciach, zagadnieniach i podejściach do przetwarzania zdarzeń bezserwerowych, zobacz architekturę referencyjną przetwarzania zdarzeń bezserwerowych .

Potencjalny przypadek użycia

Popularny przypadek użycia do implementowania kompleksowego wzorca przetwarzania strumienia zdarzeń obejmuje usługę pozyskiwania przesyłania strumieniowego usługi Event Hubs w celu odbierania i przetwarzania zdarzeń na sekundę przy użyciu logiki desadowania i przekształcania zaimplementowanej z wysoce skalowalnymi funkcjami wyzwalanymi przez centrum zdarzeń.

Współautorzy

Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.

Główny autor:

  • Rajasa Savant | Starszy inżynier ds. programowania oprogramowania

Aby wyświetlić niepubliowe profile usługi LinkedIn, zaloguj się do serwisu LinkedIn.

Następne kroki