Tam olarak yönetilen açık kaynak veri altyapıları ile akış işleme

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

Bu makalede, tam olarak yönetilen Azure veri hizmetlerini kullanan bir akış çözümü örneği sunulur.

Mimari

Akış verilerinin sistem üzerinden nasıl aktığını gösteren mimari diyagramı. Sistemi Kafka, Kubernetes, Cassandra, PostgreSQL ve Redis bileşenleri oluşturur.

Bu mimarinin Visio dosyasını indirin.

İş Akışı

  1. Apache Kafka için Event Hubs özelliği, Kafka üreticilerinden gelen olayları akışa alır.

  2. Apache Spark olayları tüketir. AKS, Apache Spark işleri için yönetilen bir ortam sağlar.

  3. Apache Cassandra için Azure Cosmos DB kullanan bir uygulama Cassandra'ya olaylar yazar. Bu veritabanı olaylar için bir depolama platformu görevi görür. AKS, Cassandra'ya yazan mikro hizmetleri barındırıyor.

  4. Azure Cosmos DB'nin değişiklik akışı özelliği olayları gerçek zamanlı olarak işler.

  5. Zamanlanmış uygulamalar, Cassandra'da depolanan olaylar üzerinde toplu işlemeyi çalıştırır.

  6. Başvuru verilerinin depoları olay bilgilerini zenginleştirir. Toplu iş odaklı uygulamalar zenginleştirilmiş olay bilgilerini PostgreSQL'e yazar. Tipik başvuru veri depoları şunlardır:

  7. Toplu iş odaklı bir uygulama Cassandra verilerini işler. Bu uygulama, işlenen verileri PostgreSQL için Azure Veritabanı depolar. Bu ilişkisel veri deposu, zenginleştirilmiş bilgi gerektiren aşağı akış uygulamalarına veri sağlar.

  8. Raporlama uygulamaları ve araçları PostgreSQL veritabanı verilerini analiz eder. Örneğin Power BI, PostgreSQL için Azure Veritabanı bağlayıcısını kullanarak veritabanına bağlanır. Bu raporlama hizmeti daha sonra verilerin zengin görsellerini görüntüler.

  9. Redis için Azure Cache bellek içi bir önbellek sağlar. Bu çözümde, önbellek kritik olaylarla ilgili verileri içerir. Bir uygulama verileri önbelleğe depolar ve önbellekten veri alır.

  10. Web siteleri ve diğer uygulamalar, yanıt sürelerini geliştirmek için önbelleğe alınan verileri kullanır. Bazen veriler önbellekte kullanılamaz. Bu gibi durumlarda, bu uygulamalar Azure Cosmos DB'de Cassandra'dan veri almak için edilgen önbellek desenini veya benzer bir stratejiyi kullanır.

Bileşenler

  • Event Hubs , saniyede milyonlarca olayı işleyebilen tam olarak yönetilen bir akış platformudur. Event Hubs, yaygın olarak kullanılan bir açık kaynak akış işleme platformu olan Apache Kafka için bir uç nokta sağlar. Kuruluşların uç nokta özelliğini kullandığında, akış işleme için Kafka kümeleri oluşturmaları ve bakımını yapmaları gerekmez. Bunun yerine, Event Hubs'ın sunduğu tam olarak yönetilen Kafka uygulamasından yararlanabilirler.

  • Azure Cosmos DB , çok ana şablonlu çoğaltma sunan tam olarak yönetilen bir NoSQL ve ilişkisel veritabanıdır. Azure Cosmos DB birçok veritabanı, dil ve platform için açık kaynak API'leri destekler. Örnekler şunları içerir:

    Apache Cassandra için Azure Cosmos DB aracılığıyla Apache Cassandra araçlarını, dillerini ve sürücülerini kullanarak Azure Cosmos DB verilerine erişebilirsiniz. Apache Cassandra, yoğun yazma yoğunluklu iş yükleri için uygun olan açık kaynaklı bir NoSQL veritabanıdır.

  • AKS yüksek oranda kullanılabilir, güvenli ve tam olarak yönetilen bir Kubernetes hizmetidir. Kubernetes , kapsayıcılı iş yüklerini yönetmek için hızla gelişen bir açık kaynak platformudur. AKS , Apache Spark gibi açık kaynaklı büyük veri işleme altyapılarını barındırır. AKS kullanarak yönetilen bir ortamda büyük ölçekli akış işleme işleri çalıştırabilirsiniz.

  • PostgreSQL için Azure Veritabanı, tam olarak yönetilen bir ilişkisel veritabanı hizmetidir. PostgreSQL için yüksek kullanılabilirlik, elastik ölçeklendirme, düzeltme eki uygulama ve diğer yönetim özellikleri sağlar. PostgreSQL yaygın olarak benimsenen bir açık kaynak ilişkisel veritabanı yönetim sistemidir.

  • Redis için Azure Cache, Redis yazılımını temel alan bir bellek içi veri deposu sağlar. Redis popüler bir açık kaynak bellek içi veri deposudur. Oturum depoları, içerik önbellekleri ve diğer depolama bileşenleri, performansı ve ölçeklenebilirliği geliştirmek için Redis kullanır. Redis için Azure Cache, tam olarak yönetilen bir teklif olarak açık kaynak Redis özellikleri sağlar.

Alternatifler

Bu çözümdeki açık kaynak uyumlu ürün ve hizmetleri başkalarıyla değiştirebilirsiniz. Azure'da kullanılabilen açık kaynak hizmetleri hakkında ayrıntılı bilgi için bkz . Azure'da açık kaynak.

Senaryo ayrıntıları

Açık kaynak altyapıları çalıştıran tam olarak yönetilen Azure veri hizmetleri şu akış çözümünü oluşturur:

Açık kaynak teknolojileri birçok avantaj sunar. Örneğin, kuruluşlar açık kaynak teknolojilerini kullanarak şunları yapabilir:

  • Mevcut iş yüklerini geçirme.
  • Geniş açık kaynak topluluğuna dokunun.
  • Satıcı kilitlemeyi sınırlayın.

Azure araçları ve hizmetleri, açık kaynak teknolojilerini erişilebilir hale getirerek kuruluşların bu avantajlardan yararlanmalarına ve tercih ettikleri çözümleri geliştirmelerine yardımcı olur.

Bu çözüm, tam olarak yönetilen hizmet olarak platform (PaaS) hizmetlerini kullanır. Sonuç olarak, Microsoft düzeltme eki uygulama, hizmet düzeyi sözleşmesi (SLA) bakımı ve diğer yönetim görevlerini işler. Bir diğer avantaj da Azure güvenlik altyapısıyla yerel tümleştirmedir.

Olası kullanım örnekleri

Bu çözüm çeşitli senaryolar için geçerlidir:

  • Açık kaynak teknolojileri kullanan modern akış çözümleri oluşturmak için Azure PaaS hizmetlerini kullanma
  • Açık kaynak akış işleme çözümlerini Azure'a geçirme

Dikkat edilmesi gereken noktalar

Bu önemli noktalar, bir iş yükünün kalitesini artırmak için kullanılabilecek bir dizi yol gösteren ilke olan Azure İyi Tasarlanmış Çerçeve'nin yapı taşlarını uygular. Daha fazla bilgi için bkz . Microsoft Azure İyi Tasarlanmış Çerçeve.

En iyi yöntemleri göz önünde bulundurarak her hizmeti tasarlayıp uygulayın. Her hizmetle ilgili yönergeler için Microsoft belge sitesine bakın. Ayrıca aşağıdaki bölümlerde yer alan bilgileri gözden geçirin:

Performans

  • PostgreSQL için Azure Veritabanı için bağlantı havuzu uygulama. Uygulama içinde bir bağlantı havuzu kitaplığı kullanabilirsiniz. Ya da PgBouncer veya Pgpool gibi bir bağlantı havuzu oluşturucu kullanabilirsiniz. PostgreSQL ile bağlantı kurmak pahalı bir işlemdir. Bağlantı havuzu ile uygulama performansını düşürmeyi önleyebilirsiniz. PgBouncer, PostgreSQL için Azure Veritabanı Esnek Sunucu'da yerleşiktir.

  • Uygun bir bölümleme stratejisi kullanarak Apache Cassandra için Azure Cosmos DB'yi en iyi performans için yapılandırın. Tabloları bölümlerken tek bir alan birincil anahtarı mı, bileşik birincil anahtar mı yoksa bileşik bölüm anahtarı mı kullanacağınıza karar verin.

Ölçeklenebilirlik

  • Event Hubs katmanını seçerken akış gereksinimlerinizi dikkate alın:

    • 120 MB/sn'den az orta aralıktaki aktarım hızı gereksinimleri için Premium katmanını göz önünde bulundurun. Bu katman akış gereksinimlerini karşılamak için esnek bir şekilde ölçeklendirilir.
    • Gigabaytlarlık veri girişi olan üst düzey akış iş yükleri için Ayrılmış katmanı göz önünde bulundurun. Bu katman, garantili kapasiteye sahip tek kiracılı bir tekliftir. Ayrılmış kümelerin ölçeğini artırıp azaltabilirsiniz.
  • İş yükleriniz öngörülemez ve yüksekse Azure Cosmos DB için otomatik ölçeklendirmeyle sağlanan aktarım hızını göz önünde bulundurun. Azure Cosmos DB'yi el ile sağlanan aktarım hızını veya otomatik ölçeklendirmeyle sağlanan aktarım hızını kullanacak şekilde yapılandırabilirsiniz. Otomatik ölçeklendirme ile Azure, istek birimlerini kullanımınıza göre saniye başına otomatik olarak ve anında ölçeklendirir.

Güvenlik

Güvenlik, kasıtlı saldırılara ve değerli verilerinizin ve sistemlerinizin kötüye kullanılmasına karşı güvence sağlar. Daha fazla bilgi için bkz . Güvenlik sütununa genel bakış.

  • Azure hizmetlerini sanal ağınızın bir parçası yapmak için Azure Özel Bağlantı kullanın. Özel Bağlantı kullandığınızda hizmetler ve ağınız arasındaki trafik, genel İnternet'ten geçmeden Azure omurgası üzerinden akar. Bu çözümdeki Azure hizmetleri, seçili SKU'lar için Özel Bağlantı destekler.

  • Kuruluşunuzun güvenlik ilkelerini denetleyin. Apache Cassandra için Azure Cosmos DB ile anahtarlar, anahtar alanları ve tablolar gibi kaynaklara erişim sağlar. Azure Cosmos DB örneği bu anahtarları depolar. Güvenlik ilkeleriniz bu anahtarları Azure Key Vault gibi bir anahtar yönetimi hizmetine yaymanızı gerektirebilir. Ayrıca anahtarları kuruluşunuzun ilkelerine göre döndürdüğünüzden emin olun.

Dayanıklılık

İş açısından kritik uygulamaları veri merkezi hatalarından korumak için Kullanılabilirlik alanlarını kullanmayı göz önünde bulundurun. Bu çözümün hizmetleri, kullanılabilirlik alanı etkin bölgelerdeki seçili SKU'lar için kullanılabilirlik alanlarını destekler. Güncel bilgiler için kullanılabilirlik alanlarını destekleyen hizmetlerin listesini gözden geçirin.

Maliyet iyileştirme

Maliyet iyileştirmesi, gereksiz giderleri azaltmanın ve operasyonel verimlilikleri iyileştirmenin yollarını aramaktır. Daha fazla bilgi için bkz . Maliyet iyileştirme sütununa genel bakış.

Bu çözümün maliyetini tahmin etmek için Azure fiyatlandırma hesaplayıcısını kullanın. Ayrıca şu noktaları aklınızda bulundurun:

  • Event Hubs Temel, Standart, Premium ve Ayrılmış katmanlarda kullanılabilir. Premium veya Ayrılmış katman, büyük ölçekli akış iş yükleri için en iyisidir. Aktarım hızını ölçeklendirin, bu nedenle küçük başlatmayı ve ardından talep arttıkça ölçeği artırmayı göz önünde bulundurun.

  • Azure Cosmos DB iki model sunar:

    • Zorlu iş yükleri için ideal olan sağlanan aktarım hızı modeli. Bu model iki kapasite yönetimi seçeneğiyle kullanılabilir: standart ve otomatik ölçeklendirme.
    • Küçük ve yüksek performanslı iş yükleri çalıştırmaya uygun sunucusuz bir model.
  • AKS kümesi, Azure'da çalışan bir düğüm kümesinden veya sanal makinelerden (VM) oluşur. İşlem, depolama ve ağ bileşenlerinin maliyeti, kümenin birincil maliyetlerini oluşturur.

  • PostgreSQL için Azure Veritabanı Tek Sunucu ve Esnek Sunucu katmanlarında kullanılabilir. Farklı katmanlar önceden sıralanabilir, seri hale getirilebilir ve yüksek performanslı iş yükleri gibi farklı senaryoları karşılar. Maliyetler temel olarak işlem düğümlerinin ve depolama kapasitesinin seçimine bağlıdır. Yeni iş yükleri için, Tek Sunucu katmanına göre daha geniş bir desteklenen özelliğe sahip olduğundan Esnek Sunucu katmanını seçmeyi göz önünde bulundurun. Ayrıca, Tek Sunucunun kullanımdan kaldırma yolunda olduğunu da unutmayın.

  • Redis için Azure Cache birden çok katmanda kullanılabilir. Bu katmanlar, 250 megabayt ile birkaç terabayt arasında değişen önbellekleri barındırır. Boyuta ek olarak, diğer gereksinimler katman seçimini de etkiler:

    • Kümeleme
    • Kalıcılık
    • Etkin coğrafi çoğaltma

Bu senaryoyu dağıtın

Bu çözümü dağıtırken şu noktaları göz önünde bulundurun:

Katkıda Bulunanlar

Bu makale Microsoft tarafından güncelleştiriliyor ve korunüyor. Başlangıçta aşağıdaki katkıda bulunanlar tarafından yazılmıştır.

Asıl yazar:

Sonraki adımlar

İlgili çözümler hakkında bilgi edinmek için aşağıdaki bilgilere bakın: