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
Pobierz plik programu Visio z tą architekturą.
Przepływ danych
- 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ć.
- Zdarzenia docierają do centrum zdarzeń wejściowych.
- 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.
- Jeśli de-batching and Filtering Azure Function nie uda się zapisać zdarzenia, zdarzenie zostanie przesłane do centrum zdarzeń Deadletter 1.
- 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.
- 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
- Wprowadzenie do usługi Azure Kubernetes Service
- Dokumentacja usługi Azure Event Hubs
- Wprowadzenie do usługi Azure Functions
- Dokumentacja usługi Azure Functions
- Omówienie usługi Azure Cosmos DB
- Wybieranie interfejsu API w usłudze Azure Cosmos DB
Powiązane zasoby
- Przetwarzanie zdarzeń bezserwerowych to architektura referencyjna opisując typową architekturę tego typu, z przykładami kodu i omówieniem ważnych zagadnień.
- Monitorowanie przetwarzania zdarzeń bezserwerowych zawiera omówienie i wskazówki dotyczące monitorowania architektur opartych na zdarzeniach bezserwerowych, takich jak ten.
- De-batching and filtering in serverless event processing with Event Hubs (De-batching and filtering in serverless event processing with Event Hubs ) opisuje bardziej szczegółowo sposób działania tych części architektury.
- Scenariusz usługi Private Link w przetwarzaniu strumienia zdarzeń to rozwiązanie do implementowania podobnej architektury w sieci wirtualnej z prywatnymi punktami końcowymi w celu zwiększenia bezpieczeństwa.