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 mutat be egy virtuális hálózatban, amely betölti és feldolgozza az adatstreamet, majd az eredményeket egy adatbázisba írja.
Architektúra
Adatfolyam
- A VNet-integráció az összes Azure-erőforrás azure-beli privát végpontok mögé helyezésére szolgál.
- Az események az Input Event Hubra érkeznek.
- Az esemény kezeléséhez aktiválódik az Azure-függvény kötegelésének és szűrésének megszüntetése. Ez a lépés kiszűri a nemkívánatos eseményeket, és törli a kapott eseményeket, mielőtt elküldené őket a Kimeneti eseményközpontba.
- Ha a kötegelés és az Azure-szűrési függvény nem tudja sikeresen tárolni az eseményt, az esemény a Deadletter Event Hub 1-be lesz elküldve.
- 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.
Megjegyzés
Az egyszerűség kedvéért az alhálózatok nem jelennek meg a diagramon.
Összetevők
- Az Azure privát végpont egy hálózati adapter, amely privát és biztonságos módon csatlakoztatja Önt egy Azure privát kapcsolat által működtetett szolgáltatáshoz. A privát végpont a virtuális hálózat egyik magánhálózati IP-címét használja, így lényegében bekapcsolja a szolgáltatást a virtuális hálózatba.
- 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 ( egy 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 kiszolgáló nélküli eseményvezérelt architektúra egy változatát mutatja be, amely betölt egy adatstreamet, feldolgozza az adatokat, és az eredményeket egy háttéradatbázisba írja. Ebben a példában a megoldás egy virtuális hálózaton található, és az összes Azure-erőforrás magánvégpontok mögött található.
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 végpontok közötti eseménystreamek feldolgozási mintájának megvalósítására szolgáló népszerű használati eset az Event Hubs streambetöltési szolgáltatása, amellyel másodpercenként fogadhatja és feldolgozhatja az eseményeket az Event Hubs által aktivált, nagy mértékben skálázható függvényekkel implementált kötegelés é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
- Privátvégpont-kapcsolat kezelése
- A privát végpont rövid útmutatói:
- 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 fontos szempontok megvitatásával.
- A kiszolgáló nélküli eseményfeldolgozás monitorozása áttekintést és útmutatást nyújt az ilyen kiszolgáló nélküli eseményvezérelt architektúrák monitorozásához.
- A kiszolgáló nélküli eseményfeldolgozásban az Event Hubs használatával végzett kötegelt törlés és szűrés részletesebben ismerteti az architektúra ezen részeinek működését.
- Az azure Kubernetes az eseménystreamek feldolgozásában egy kiszolgáló nélküli eseményvezérelt architektúra egy változatát ismerteti, amely az Azure Kubernetesen fut a KEDA-skálázóval.