Szerkesztés

Megosztás a következőn keresztül:


Streamfeldolgozás teljes mértékben felügyelt nyílt forráskódú adatforrásokkal

Azure Event Hubs
Azure Kubernetes Service (AKS)
Azure Cosmos DB
Azure Database for PostgreSQL
Azure Cache for Redis

Ez a cikk egy olyan streamelési megoldás példáját mutatja be, amely teljes mértékben felügyelt Azure-adatszolgáltatásokat használ.

Architektúra

Architektúradiagram, amely bemutatja, hogyan haladnak át az adatok a rendszeren keresztül. A rendszert a Kafka, a Kubernetes, a Cassandra, a PostgreSQL és a Redis összetevők alkotják.

Töltse le az architektúra Visio-fájlját.

Munkafolyamat

  1. Az Apache Kafka Event Hubs szolgáltatása a Kafka-gyártók eseményeit streameli.

  2. Az Apache Spark eseményeket használ fel. Az AKS felügyelt környezetet biztosít az Apache Spark-feladatokhoz.

  3. Az Apache Cassandra azure Cosmos DB-t használó alkalmazása eseményeket ír a Cassandra számára. Ez az adatbázis az események tárolási platformjaként szolgál. Az AKS üzemelteti a Cassandrának írt mikroszolgáltatásokat.

  4. Az Azure Cosmos DB változáscsatorna funkciója valós időben dolgozza fel az eseményeket.

  5. Az ütemezett alkalmazások kötegelt feldolgozást futtatnak a Cassandra-ban tárolt eseményeken.

  6. A referenciaadatok tárolói bővítik az eseményinformációkat. A Batch-orientált alkalmazások a bővített eseményinformációkat a PostgreSQL-be írják. A referenciaadattárak jellemzően a következők:

  7. Egy kötegorientált alkalmazás feldolgozza a Cassandra-adatokat. Az alkalmazás a feldolgozott adatokat az Azure Database for PostgreSQL-ben tárolja. Ez a relációs adattár olyan alsóbb rétegbeli alkalmazások számára biztosít adatokat, amelyek gazdagított információkat igényelnek.

  8. A jelentéskészítési alkalmazások és eszközök elemzik a PostgreSQL-adatbázis adatait. A Power BI például az Azure Database for PostgreSQL-összekötő használatával csatlakozik az adatbázishoz. Ez a jelentéskészítési szolgáltatás ezután az adatok gazdag vizualizációit jeleníti meg.

  9. Az Azure Cache for Redis memóriabeli gyorsítótárat biztosít. Ebben a megoldásban a gyorsítótár kritikus események adatait tartalmazza. Az alkalmazások adatokat tárolnak a gyorsítótárban, és adatokat kérnek le a gyorsítótárból.

  10. A webhelyek és más alkalmazások a gyorsítótárazott adatokat használják a válaszidők javítása érdekében. Előfordulhat, hogy az adatok nem érhetők el a gyorsítótárban. Ezekben az esetekben ezek az alkalmazások a gyorsítótár-feltöltési mintát vagy egy hasonló stratégiát használnak az azure Cosmos DB-ben lévő Cassandra adatainak lekéréséhez.

Összetevők

  • Az Event Hubs egy teljes mértékben felügyelt streamelési platform, amely másodpercenként több millió eseményt képes feldolgozni. Az Event Hubs végpontot biztosít az Apache Kafkához, amely egy széles körben használt nyílt forráskódú streamfeldolgozási platform. Amikor a szervezetek a végpont funkciót használják, nem kell Kafka-fürtöket létrehozniuk és karbantartaniuk a streamfeldolgozáshoz. Ehelyett kihasználhatják az Event Hubs által kínált teljes körűen felügyelt Kafka-implementációt.

  • Az Azure Cosmos DB egy teljes körűen felügyelt NoSQL- és relációs adatbázis, amely több főkiszolgálós replikációt kínál. Az Azure Cosmos DB számos adatbázishoz, nyelvhez és platformhoz támogatja a nyílt forráskódú API-kat. Ide sorolhatóak például a kövekezők:

    Az Apache Cassandra-hoz készült Azure Cosmos DB-ben Apache Cassandra-eszközökkel, nyelvekkel és illesztőprogramokkal érheti el az Azure Cosmos DB-adatokat. Az Apache Cassandra egy nyílt forráskódú NoSQL-adatbázis, amely kiválóan alkalmas nagy írásigényű számítási feladatokhoz.

  • Az AKS egy magas rendelkezésre állású, biztonságos és teljes körűen felügyelt Kubernetes-szolgáltatás. A Kubernetes egy gyorsan fejlődő nyílt forráskódú platform a tárolóalapú számítási feladatok kezeléséhez. Az AKS nyílt forráskódú big data-feldolgozó motorokat, például Apache Sparkot üzemeltet. Az AKS használatával nagy léptékű streamfeldolgozási feladatokat futtathat felügyelt környezetben.

  • Az Azure Database for PostgreSQL egy teljes mértékben felügyelt relációs adatbázis-szolgáltatás. Magas rendelkezésre állást, rugalmas skálázást, javítást és egyéb felügyeleti képességeket biztosít a PostgreSQL-hez. A PostgreSQL egy széles körben elterjedt nyílt forráskódú relációs adatbázis-kezelő rendszer.

  • Az Azure Cache for Redis a Redis szoftveren alapuló memóriabeli adattárat biztosít. A Redis egy népszerű nyílt forráskódú memóriabeli adattár. A munkamenet-tárolók, a tartalomgyorsítótárak és más tárolási összetevők a Redis használatával javítják a teljesítményt és a méretezhetőséget. Az Azure Cache for Redis teljes körűen felügyelt ajánlatként nyílt forráskódú Redis-képességeket biztosít.

Alternatívák

Ebben a megoldásban lecserélheti a nyílt forráskódú kompatibilis termékeket és szolgáltatásokat másokkal. Az Azure-ban elérhető nyílt forráskódú szolgáltatások részleteiért lásd: Nyílt forráskódú azure-beli szolgáltatások.

Forgatókönyv részletei

A teljes körűen felügyelt, nyílt forráskódú motorokat futtató Azure-beli adatszolgáltatások alkotják ezt a streamelési megoldást:

  • Az Azure Event Hubs Kafka-implementációt kínál a streambetöltéshez.
  • Az Azure Cosmos DB támogatja a Cassandra eseménytárolását.
  • Az Azure Kubernetes Service (AKS) a Kubernetes-mikroszolgáltatásokat üzemelteti a streamfeldolgozáshoz.
  • Az Azure Database for PostgreSQL kezeli a relációs adattárolást a PostgreSQL-ben.
  • Az Azure Cache for Redis kezeli a Redis memóriabeli adattárait.

A nyílt forráskódú technológiák számos előnnyel járnak. A szervezetek például nyílt forráskódú technológiákat használhatnak a következő célokra:

  • Meglévő számítási feladatok migrálása.
  • Koppintson a széles körű nyílt forráskódú közösségre.
  • A szállítók zárolásának korlátozása.

A nyílt forráskódú technológiák akadálymentesítésével az Azure-eszközök és -szolgáltatások segítségével a szervezetek kihasználhatják ezeket az előnyöket, és fejleszthetik az általuk választott megoldásokat.

Ez a megoldás teljes körűen felügyelt platformot használ szolgáltatásként (PaaS). Ennek eredményeképpen a Microsoft kezeli a javításokat, a szolgáltatásiszint-szerződés (SLA) karbantartását és egyéb felügyeleti feladatokat. Egy másik előny az Azure biztonsági infrastruktúrával való natív integráció.

Lehetséges használati esetek

Ez a megoldás különböző forgatókönyvekre vonatkozik:

  • Nyílt forráskódú technológiákat használó modern streamelési megoldások létrehozása az Azure PaaS-szolgáltatások használatával
  • Nyílt forráskódú streamfeldolgozási megoldások migrálása az Azure-ba

Megfontolások

Ezek a szempontok implementálják az Azure Well-Architected Framework alappilléreit, amely a számítási feladatok minőségének javítására használható vezérelvek halmaza. További információ: Microsoft Azure Well-Architected Framework.

Az ajánlott eljárásokat szem előtt tartva tervezheti meg és valósítja meg az egyes szolgáltatásokat. Az egyes szolgáltatásokra vonatkozó irányelvekért tekintse meg a Microsoft dokumentációs webhelyét. Tekintse át az alábbi szakaszokban található információkat is:

Teljesítmény

  • Kapcsolatkészletezés implementálása az Azure Database for PostgreSQL-hez. Az alkalmazáson belül használhat kapcsolatkészletezési kódtárat. Vagy használhat kapcsolatkészletezőt, például PgBouncert vagy Pgpoolt. A PostgreSQL-kapcsolat létrehozása költséges művelet. A kapcsolatkészletezéssel elkerülheti az alkalmazások teljesítménycsökkenését. A PgBouncer beépített rugalmas Azure Database for PostgreSQL-kiszolgáló.

  • Konfigurálja az Azure Cosmos DB-t az Apache Cassandra számára a legjobb teljesítmény érdekében egy megfelelő particionálási stratégia használatával. Döntse el, hogy egyetlen mező elsődleges kulcsát, összetett elsődleges kulcsát vagy összetett partíciókulcsot használ-e a táblák particionálása során.

Méretezhetőség

  • Az Event Hubs-szint kiválasztásakor vegye figyelembe a streamelési követelményeket:

    • A 120 MB/s-nál kisebb közepes átviteli sebességre vonatkozó követelményeknél vegye figyelembe a prémium szintet. Ez a szint rugalmasan skálázható a streamelési követelményeknek megfelelően.
    • A gigabájtnyi adatforgalommal rendelkező csúcskategóriás streamelési számítási feladatok esetében vegye figyelembe a dedikált szintet. Ez a szint egy egybérlős ajánlat garantált kapacitással. A dedikált fürtöket fel- és leskálázhatja.
  • Ha a számítási feladatok kiszámíthatatlanok és tüskések, fontolja meg az Azure Cosmos DB automatikusan kiosztott átviteli sebességét . Az Azure Cosmos DB-t úgy konfigurálhatja, hogy manuálisan kiosztott átviteli sebességet vagy automatikusan kiosztott átviteli sebességet használjon. Automatikus skálázás esetén az Azure automatikusan és azonnal skálázza a kérelemegységeket másodpercenként a használatnak megfelelően.

Biztonság

A biztonság biztosítékokat nyújt a szándékos támadások és az értékes adatokkal és rendszerekkel való visszaélés ellen. További információ: A biztonsági pillér áttekintése.

  • Az Azure Private Link használatával az Azure-szolgáltatásokat a virtuális hálózat részévé teheti. A Private Link használata esetén a szolgáltatások és a hálózat közötti forgalom az Azure gerinchálózatán halad át anélkül, hogy a nyilvános interneten áthalad. A megoldás Azure-szolgáltatásai támogatják a Private Linket a kiválasztott termékváltozatokhoz.

  • Ellenőrizze a szervezet biztonsági szabályzatait. Az Apache Cassandra-hoz készült Azure Cosmos DB-vel a kulcsok hozzáférést biztosítanak az erőforrásokhoz, például a kulcsterekhez és a táblákhoz. Az Azure Cosmos DB-példány tárolja ezeket a kulcsokat. Előfordulhat, hogy a biztonsági szabályzatok megkövetelik, hogy ezeket a kulcsokat egy kulcskezelési szolgáltatásba , például az Azure Key Vaultba propagálja. Ügyeljen arra is, hogy a szervezeti szabályzatok szerint váltsa el a kulcsokat .

Tartósság

Fontolja meg a rendelkezésre állási zónák használatát az üzletileg kritikus fontosságú alkalmazások adatközpont-hibák elleni védelméhez. A megoldás szolgáltatásai támogatják a rendelkezésre állási zónákban kijelölt termékváltozatokhoz tartozó rendelkezésre állási zónákat. Naprakész információkért tekintse át a rendelkezésre állási zónákat támogató szolgáltatások listáját.

Költségoptimalizálás

A költségoptimalizálás a szükségtelen kiadások csökkentésének és a működési hatékonyság javításának módjairól szól. További információ: A költségoptimalizálási pillér áttekintése.

A megoldás költségeinek becsléséhez használja az Azure díjkalkulátorát. Tartsa szem előtt az alábbi szempontokat is:

  • Az Event Hubs alapszintű, standard, prémium és dedikált szinten érhető el. A prémium vagy dedikált szint a legjobb a nagy léptékű streamelési számítási feladatokhoz. Skálázhatja az átviteli sebességet, ezért fontolja meg a kis méretű indítást, majd a vertikális felskálázást az igények növekedésével.

  • Az Azure Cosmos DB két modellt kínál:

    • Kiosztott átviteli sebességmodell, amely ideális az igényes számítási feladatokhoz. Ez a modell két kapacitáskezelési lehetőségben érhető el: standard és automatikus skálázás.
    • Kiszolgáló nélküli modell, amely alkalmas kis méretű, tüskés számítási feladatok futtatására.
  • Az AKS-fürtök az Azure-ban futó csomópontokból vagy virtuális gépekből (virtuális gépekből) állnak. A számítási, tárolási és hálózati összetevők költségei alkotják a fürt elsődleges költségeit.

  • Az Azure Database for PostgreSQL egykiszolgálós és rugalmas kiszolgálószinteken érhető el. A különböző szintek különböző forgatókönyveket, például előre meghatározott, kipukkasztható és nagy teljesítményű számítási feladatokat szolgálnak ki. A költségek főként a számítási csomópontok és a tárolási kapacitás kiválasztásától függnek. Új számítási feladatok esetén érdemes lehet a rugalmas kiszolgálói szintet választani, mivel az egykiszolgálós szinten szélesebb körű támogatott képességekkel rendelkezik. Azt is vegye figyelembe, hogy az egykiszolgálós kiszolgáló az elavulás útvonalán van.

  • Az Azure Cache for Redis több szinten érhető el. Ezek a szintek 250 megabájttól több terabájtig terjedő gyorsítótárakat foglalnak el. A méret mellett más követelmények is befolyásolják a szint kiválasztását:

    • Fürtözés
    • Kitartás
    • Aktív georeplikáció

A forgatókönyv üzembe helyezése

A megoldás üzembe helyezésekor tartsa szem előtt ezeket a pontokat:

Közreműködők

Ezt a cikket a Microsoft frissíti és karbantartja. Eredetileg a következő közreműködők írták.

Fő szerző:

Következő lépések

A kapcsolódó megoldásokkal kapcsolatos információkért tekintse meg a következő információkat: