Megoldási ötletek
Ez a cikk egy megoldási ötlet. Ha azt szeretné, hogy további információkkal bővítsük a tartalmat, például a lehetséges használati eseteket, az alternatív szolgáltatásokat, a megvalósítási szempontokat vagy a díjszabással kapcsolatos útmutatást, tudassa velünk a GitHub visszajelzésével.
Ez a cikk egy kiszolgáló nélküli eseményvezérelt architektúrát ismertet, amely Azure Event Hubs és Azure Functions használ az adatstreamek betöltéséhez és szűréséhez az adatbázis-tároláshoz.
Architektúra
Adatfolyam
- Az események az input eseményközpontba érkeznek.
- Az esemény kezeléséhez aktiválódik az Azure-függvény kötegelésének megszüntetése és szűrése. Ez a lépés kiszűri a nemkívánatos eseményeket, és megszünteti a kapott események kötegelését, mielőtt elküldené őket a kimeneti eseményközpontba.
- Ha az Azure-függvény kötegelt törlése és szűrése nem tudja sikeresen tárolni az eseményt, az eseményt a Deadletter Event Hub 1-be küldi el a program.
- A kimeneti eseményközpontba érkező események aktiválják az Azure-függvény átalakítását. Ez az Azure-függvény üzenetté alakítja az eseményt az Azure Cosmos DB-példány számára.
- Az esemény egy Azure Cosmos DB-adatbázisban van tárolva.
- Ha az Azure-függvény átalakítása nem tudja sikeresen tárolni az eseményt, a rendszer menti az eseményt a Deadletter Event Hub 2-be.
Összetevők
- Az Event Hubs betölti az adatfolyamot. Az Event Hubs nagy átviteli sebességű adatstreamelési forgatókönyvekhez készült.
- Azure Functions egy kiszolgáló nélküli számítási lehetőség. Eseményvezérelt modellt használ, ahol egy eseményindító meghív egy kódrészletet ( függvényt).
- Az Azure Cosmos DB egy többmodelles adatbázis-szolgáltatás, amely kiszolgáló nélküli, használatalapú módban érhető el. Ebben a forgatókönyvben az eseményfeldolgozó függvény JSON-rekordokat tárol az Azure Cosmos DB for NoSQL használatával.
Forgatókönyv részletei
Ez a megoldási ötlet egy olyan kiszolgáló nélküli eseményvezérelt architektúra egy változatát ismerteti, amely az Event Hubsot és Azure Functions használja az adatstreamek betöltésére és feldolgozására. Az eredmények egy adatbázisba kerülnek tárolás céljából, és a kötegmentes és szűrt adatok későbbi áttekintése után.
A kiszolgáló nélküli eseményfeldolgozás alapfogalmaival, szempontjaival és megközelítésével kapcsolatos további információkért tekintse meg a kiszolgáló nélküli eseményfeldolgozás referenciaarchitektúráját.
Lehetséges használati esetek
A teljes körű eseménystream-feldolgozási minta implementálásának népszerű használati esete az Event Hubs streambetöltési szolgáltatása, amely másodpercenként fogad és dolgoz fel eseményeket egy nagy mértékben skálázható, eseményközpont által aktivált függvényekkel implementált kötegelési és átalakítási logika használatával.
Közreműködők
Ezt a cikket a Microsoft tartja karban. Eredetileg a következő közreműködők írták.
Fő szerző:
- Rajasa Savant | Vezető szoftverfejlesztő mérnök
A nem nyilvános LinkedIn-profilok megtekintéséhez jelentkezzen be a LinkedInbe.
Következő lépések
- Az Azure Event Hubs dokumentációja
- Az Azure Functions bemutatása
- Azure Functions – dokumentáció
- Az Azure Cosmos DB áttekintése
- API kiválasztása az Azure Cosmos DB-ben
Kapcsolódó források (lehet, hogy a cikkek angol nyelvűek)
- A kiszolgáló nélküli eseményfeldolgozás egy referenciaarchitektúra, amely egy ilyen típusú tipikus architektúrát részletez, kódmintákkal és a fontos szempontok megvitatásával.
- A kiszolgáló nélküli eseményfeldolgozás monitorozása áttekintést és útmutatást nyújt az ehhez hasonló kiszolgáló nélküli eseményvezérelt architektúrák monitorozásához.
- Az Azure Kubernetes az eseménystreamek feldolgozásában az Azure Kubernetesben a KEDA-skálázóval futó kiszolgáló nélküli eseményvezérelt architektúra egy változatát ismerteti.
- Az eseménystreamek feldolgozásának privát kapcsolati forgatókönyve egy megoldási ötlet egy hasonló architektúra privát végpontokkal rendelkező virtuális hálózaton való implementálásához a biztonság növelése érdekében.