Azure Kubernetes ve zpracování datových proudů událostí

Kubernetes Service
IoT Hub
Event Hubs
Functions
Cosmos DB

Idea řešení

Pokud se chcete podívat, jak tento článek rozšíříme o další informace, jako jsou potenciální případy použití, alternativní služby, aspekty implementace nebo pokyny k cenám, dejte nám vědět pomocí GitHub Feedback!

Tento článek popisuje variantu architektury bez serveru řízené událostmi běžící v Azure Kubernetes se škálovatérem KEDA, která ingestuje datový proud, zpracovává data a pak zapisuje výsledky do back-endové databáze.

Další informace o základních konceptech, aspektech a přístupech pro bezsoučtové zpracování událostí najdete v referenční architektuře bez serveru pro zpracování událostí.

Potenciální případ použití

Oblíbeným případem použití pro implementaci vzoru zpracování streamu událostí od konce zahrnuje službu příjmu streamování Event Hubs pro příjem a zpracování událostí za sekundu s využitím logiky dávkování a transformace implementované s vysoce škálovatelnými funkcemi centra událostí–aktivovaných funkcí.

Architektura

Diagram znázorňující tok dat popsaný v tomto článku

  1. Azure Kubernetes Service (AKS) se škálovatrem KEDA se používá k automatické Azure Functions kontejnerů na základě počtu událostí, které je potřeba zpracovat.
  2. Události přicházejí do vstupního centra událostí.
  3. Ke zpracování události se aktivuje funkce Azure Pro uvolnění dávek a filtrování. Tento krok odfiltruje nežádoucí události a před odesláním do centra výstupních událostí vyfiltruje z dávky přijaté události.
  4. Pokud funkce Azure Pro dávek a filtrování úspěšně neukládá událost, událost se odeslaná do centra událostí Deadletter 1.
  5. Události přicházející do centra výstupních událostí aktivují transformaci funkce Azure. Tato funkce Azure Transformuje událost na zprávu pro Cosmos DB.
  6. Událost se uloží do databáze Cosmos DB.

Komponenty

  • Azure Kubernetes Service (AKS) zjednodušuje nasazení spravovaného clusteru Kubernetes v Azure tím, že přesouvání provozní režie do Azure. Azure se jako hostovaná služba Kubernetes stará o důležité úlohy, jako je monitorování stavu a údržba.
  • KEDA je automatické škálování řízené událostmi, které se používá ke škálování kontejnerů v clusteru Kubernetes na základě počtu událostí, které je potřeba zpracovat.
  • Event Hubs ingestuje datový proud. Event Hubs je určená pro scénáře streamování dat s vysokou propustností.
  • Azure Functions je možnost výpočetních prostředků bez serveru. Používá model řízený událostmi, ve kterém je část kódu (funkce ) vyvolána triggerem.
  • Azure Cosmos DB je databázová služba pro více modelů, která je dostupná v bez serveru v režimu založeném na spotřebě. V tomto scénáři funkce zpracování událostí ukládá záznamy JSON pomocí rozhraní COSMOS DB SQL API.

Poznámka

Pro scénáře s internetem věcí (IoT) doporučujeme použít Azure IoT Hub. IoT Hub má integrovaný koncový bod, který je kompatibilní s rozhraním Azure Event Hubs API, takže v této architektuře můžete použít některou z těchto služeb bez významných změn v back-endové zpracování. Další informace najdete v tématu Připojení zařízení IoT k Azure: IoT Hub a Event Hubs.

Další kroky