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ń

W tym artykule opisano pomysł rozwiązania. Architekt chmury może użyć tych wskazówek, aby ułatwić wizualizowanie głównych składników dla typowej implementacji tej architektury. Skorzystaj z tego artykułu jako punktu wyjścia, aby zaprojektować dobrze zaprojektowane rozwiązanie zgodne z konkretnymi wymaganiami obciążenia.

W tym artykule opisano odmianę architektury opartej na zdarzeniach bezserwerowych , która działa w usłudze Azure Kubernetes Service (AKS) ze skalowaniem KEDA. 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 ze skalowaniem KEDA służy do automatycznego skalowania kontenerów usługi Azure Functions w oparciu o liczbę zdarzeń, które należy przetworzyć.
  2. Zdarzenia docierają do wejściowego centrum zdarzeń.
  3. W celu obsługi zdarzenia wyzwalana jest funkcja desadowania i filtrowania platformy Azure. Ten krok filtruje niepożądane zdarzenia i usuwa partie odebranych zdarzeń przed przesłaniem do wyjściowego centrum zdarzeń.
  4. Jeśli funkcja platformy Azure nie będzie pomyślnie przechowywać zdarzenia wsadowego i filtrowania, 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

  • Usługa Azure Kubernetes Service (AKS) upraszcza wdrażanie zarządzanego klastra Kubernetes na platformie Azure, odciążając obciążenie operacyjne na platformę Azure. Jako hostowana usługa Kubernetes platforma Azure obsługuje krytyczne zadania, takie jak monitorowanie kondycji i konserwacja.
  • KEDA to narzędzie do automatycznego skalowania opartego na zdarzeniach używanego 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.
  • Usługa Azure Functions to opcja obliczeniowa bezserwerowa. Używa ona modelu sterowanego zdarzeniami, w którym element kodu ( funkcja) jest wywoływany przez wyzwalacz.
  • Azure Cosmos DB to wielomodelowa usługa bazy danych, która jest 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 usługę Azure IoT Hub. Usługa IoT Hub ma wbudowany punkt końcowy zgodny z interfejsem API usługi Azure Event Hubs, dzięki czemu można używać żadnej usługi 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 za pomocą narzędzia skalowania KEDA. Rozwiązanie pozyskuje strumień danych, przetwarza dane, a następnie zapisuje wyniki w bazie danych zaplecza.

Potencjalny przypadek użycia

Popularny przypadek użycia implementacji kompleksowego wzorca przetwarzania strumienia zdarzeń obejmuje usługę pozyskiwania strumieniowego usługi Event Hubs w celu odbierania i przetwarzania zdarzeń na sekundę przy użyciu logiki odsadowania 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:

Aby wyświetlić niepubalne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.

Następne kroki