Upravit

Sdílet prostřednictvím


Azure Kubernetes při zpracování datových proudů událostí

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

Nápady na řešení

Tento článek popisuje myšlenku řešení. Váš cloudový architekt může pomocí těchto pokynů vizualizovat hlavní komponenty pro typickou implementaci této architektury. Tento článek slouží jako výchozí bod k návrhu dobře navrženého řešení, které odpovídá konkrétním požadavkům vaší úlohy.

Tento článek popisuje variantu bezserverové architektury řízené událostmi, která běží ve službě Azure Kubernetes Service (AKS) se škálováním KEDA. Řešení ingestuje datový proud, zpracuje data a pak zapíše výsledky do back-endové databáze.

Architektura

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

Stáhněte si soubor aplikace Visio s touto architekturou.

Tok dat

  1. AKS se škálovacím nástrojem KEDA se používá k automatickému škálování kontejnerů Azure Functions 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. Funkce Azure Functions pro zrušení dávkování a filtrování se aktivuje pro zpracování události. Tento krok vyfiltruje nežádoucí události a před odesláním do výstupního centra událostí zruší dávky přijatých událostí.
  4. Pokud se službě Azure Functions nepodaří úspěšně uložit dávku a filtrování, událost se odešle do centra událostí Deadletter 1.
  5. Události přicházející do výstupního centra událostí aktivují transformaci funkce Azure Functions. Tato funkce Azure Transformuje událost na zprávu pro instanci služby Azure Cosmos DB.
  6. Událost je uložená v databázi Azure Cosmos DB.

Komponenty

  • Azure Kubernetes Service (AKS) zjednodušuje nasazení spravovaného clusteru Kubernetes v Azure tím, že přesměruje provozní režii do Azure. Azure jako hostovaná služba Kubernetes zpracovává 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. Služba Event Hubs je navržená pro scénáře streamování dat s vysokou propustností.
  • Azure Functions je bezserverová výpočetní možnost. Používá model řízený událostmi, kde aktivační událost vyvolá část kódu ( funkce).
  • Azure Cosmos DB je vícemodelová databázová služba, která je dostupná v bezserverovém režimu založeném na spotřebě. V tomto scénáři ukládá funkce zpracování událostí záznamy JSON pomocí služby Azure Cosmos DB for NoSQL.

Poznámka:

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

Podrobnosti scénáře

Tento článek popisuje bezserverovou architekturu řízenou událostmi, která běží v AKS se škálováním KEDA. Řešení ingestuje datový proud, zpracuje data a pak zapíše výsledky do back-endové databáze.

Případ potenciálního použití

Oblíbený případ použití pro implementaci vzoru zpracování streamu událostí od konce do konce zahrnuje službu pro příjem a zpracování událostí služby Event Hubs pro příjem a zpracování událostí za sekundu s využitím logiky de-batching a transformace implementované s vysoce škálovatelnými funkcemi aktivovanými centrem událostí.

Přispěvatelé

Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.

Hlavní autor:

Pokud chcete zobrazit neveřejné profily LinkedIn, přihlaste se na LinkedIn.

Další kroky