Odsadanie i filtrowanie przetwarzania zdarzeń bezserwerowych za pomocą usługi Event Hubs

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 architekturę opartą na zdarzeniach bezserwerową, która używa Azure Event Hubs i Azure Functions do pozyskiwania i filtrowania strumienia danych na potrzeby magazynu bazy danych.

Architektura

Diagram przedstawiający przepływ danych i kluczowe punkty przetwarzania w architekturze opisanej w tym artykule

Przepływ danych

  1. Zdarzenia docierają do wejściowego centrum zdarzeń.
  2. W celu obsługi zdarzenia wyzwalana jest funkcja platformy Azure co do usuwania partii i filtrowania. Ten krok filtruje niepożądane zdarzenia i usuwa partie odebranych zdarzeń przed przesłaniem ich do wyjściowego centrum zdarzeń.
  3. Jeśli de-batching i filtrowanie funkcji platformy Azure nie będzie pomyślnie przechowywać zdarzenia, zdarzenie zostanie przesłane do centrum zdarzeń Deadletter 1.
  4. 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.
  5. Zdarzenie jest przechowywane w bazie danych usługi Azure Cosmos DB.
  6. Jeśli przekształcanie funkcji platformy Azure nie zapisze zdarzenia pomyślnie, zdarzenie zostanie zapisane w centrum zdarzeń deadletter 2.

Składniki

  • Usługa Event Hubs pozysuje strumień danych. Usługa Event Hubs jest przeznaczona dla scenariuszy przesyłania strumieniowego danych o wysokiej przepływności.
  • Azure Functions jest opcją obliczeń bezserwerowych. 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 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.

Szczegóły scenariusza

W tym rozwiązaniu opisano odmianę architektury bezserwerowej opartej na zdarzeniach, która używa usługi Event Hubs i Azure Functions do pozyskiwania i przetwarzania strumienia danych. Wyniki są zapisywane w bazie danych na potrzeby magazynu i przyszłego przeglądu po ich odsadzonej i odfiltrowanej.

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

Potencjalne przypadki użycia

Popularny przypadek użycia implementacji 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. Został pierwotnie napisany przez następujących współautorów.

Główny autor:

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

Następne kroki