Tam yönetilen açık kaynaklı veri altyapılarıyla akış işleme

Event Hubs
Kubernetes Hizmeti
Cosmos DB
PostgreSQL için Veritabanı
Redis için Cache

Bu makalede bir akış çözümü örneği sunulmaktadır. Açık kaynaklı altyapıları çalıştıran tam olarak yönetilen Azure veri Hizmetleri, çözümü yapar:

  • Azure Event Hubs, akış alımı için bir Kafka uygulamasını sunmaktadır.
  • Azure Cosmos DB cassandra'da olay depolamayı destekler.
  • Azure Kubernetes hizmeti (AKS), akış işleme için Kubernetes mikro hizmetlerini barındırır.
  • PostgreSQL için Azure veritabanı, PostgreSQLiçindeki ilişkisel veri depolamayı yönetir.
  • Redsıs için Azure önbelleği, redsıs bellek içi veri depolarını yönetir.

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

  • Mevcut iş yüklerini geçirin.
  • Geniş kapsamlı açık kaynaklı topluluğa dokunun.
  • Satıcı kilitlemeyi sınırlayın.

Açık kaynaklı teknolojiler erişilebilir hale getirerek, Azure araçları ve Hizmetleri, kuruluşların bu avantajlardan faydalanmasını ve tercih ettikleri çözümleri geliştirmesini sağlar.

Bu çözüm, tam olarak yönetilen bir hizmet olarak platform (PaaS) hizmeti 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 ele alır. Azure 'un güvenlik altyapısıyla yerel tümleştirme diğer bir avantajdır.

Olası kullanım örnekleri

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

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

Mimari

Akış verilerinin bir sistem üzerinden nasıl akacağını gösteren mimari diyagramı. Kafka, Kubernetes, Cassandra, PostgreSQL ve Redsıs bileşenleri, sistemi yapar.

Bu mimarinin bir Visio dosyasını indirin.

  1. Apache Kafka özelliği için Event Hubs, olayları Kafka üreticileri 'tan akışlar.

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

  3. Azure Cosmos DB için Cassandra API 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ır.

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

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

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

  7. Toplu işlem temelli bir uygulama Cassandra verilerini işler. Bu uygulama, işlenen verileri PostgreSQL için Azure veritabanı 'nda depolar. Bu ilişkisel veri deposu, zenginleştirilmiş bilgiler 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. Redo için Azure Cache, bellek içi önbellek sağlar. Bu çözümde, önbellek kritik olaylar üzerinde veriler 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ınmış verileri kullanır. Bazen veriler önbellekte kullanılamaz. bu gibi durumlarda, bu uygulamalar Azure Cosmos DB içindeki cassandra 'dan veri almak için önbellek veya benzer bir strateji kullanır.

Bileşenler

  • Event Hubs , saniyede milyonlarca olayı işleyelebilecek, tam olarak yönetilen bir akış platformudur. Event Hubs, yaygın olarak kullanılan bir açık kaynaklı akış işleme platformu olan Apache Kafkaiçin bir uç nokta sağlar. Kuruluşlar uç nokta özelliğini kullandıklarında, akış işleme için Kafka kümeleri derleyip sürdürmeleri gerekmez. Bunun yerine, Event Hubs sunduğu tam yönetilen Kafka uygulamasından faydalanabilir.

  • Azure Cosmos DB , çok yöneticili çoğaltma sunan çok modelli bir nosql veritabanıdır. Azure Cosmos DB birçok veritabanı, dil ve platformda açık kaynaklı apı 'leri destekler. Örnekler arasında şunlar yer almaktadır:

    Cassandra APIaracı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 tamamen yönetilen bir Kubernetes hizmetidir. Kubernetes Kapsayıcılı iş yüklerini yönetmek için hızlı bir şekilde gelişen açık kaynaklı bir platformdur. Aks , Apache Sparkgibi açık kaynak büyük veri işleme altyapılarını barındırır. AKS 'i kullanarak, büyük ölçekli akış işleme işlerini yönetilen bir ortamda çalıştırabilirsiniz.

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

  • Redsıs Için Azure önbelleği , redin yazılımını temel alan bellek içi veri deposu sağlar. Redsıs , popüler bir açık kaynaklı bellek içi veri deposudur. Oturum depoları, içerik önbellekleri ve diğer depolama bileşenleri, performansı ve ölçeklenebilirliği artırmak için Redsıs kullanır. Redsıs Için Azure önbelleği , tam olarak yönetilen bir teklif olarak açık kaynaklı redin olanakları sağlar.

Alternatifler

Bu çözümdeki açık kaynaklı uyumlu ürün ve Hizmetleri başkalarıyla değiştirebilirsiniz. Azure 'da bulunan açık kaynaklı hizmetlerle ilgili ayrıntılar için bkz. Azure 'Da açık kaynak.

Dikkat edilmesi gerekenler

Her hizmeti en iyi yöntemlerle tasarlayın ve uygulayın. Her hizmet hakkında yönergeler için bkz. Microsoft docs. Ayrıca, aşağıdaki bölümlerdeki bilgileri gözden geçirin:

Performansla ilgili önemli noktalar

  • PostgreSQL Için Azure veritabanı bağlantı havuzunuuygulayın. Uygulama içinde bir bağlantı havuzu kitaplığını kullanabilirsiniz. Ya da Pgbouncer veya pgpoolgibi bir bağlantı havuzlayıcı kullanabilirsiniz. PostgreSQL ile bağlantı kurmak pahalı bir işlemdir. Bağlantı havuzu oluşturma ile uygulama performansının düşürülmesini önleyebilirsiniz.

  • uygun bölümleme stratejisinikullanarak en iyi performans için Azure Cosmos DB Cassandra API yapılandırın. Tabloları Bölümlemede tek bir alan birincil anahtar, bileşik birincil anahtar veya bileşik bölüm anahtarı kullanıp kullanmayacağınızı belirleyin.

Ölçeklenebilirlik konusunda dikkat edilmesi gerekenler

  • Event Hubs katmanınıseçerken akış gereksinimlerinizi hesaba katın.

    • 120 mb/sn 'den az olan orta ölçekli aktarım hızı gereksinimleri için Premium katmanınıdeğerlendirin. Bu katman, akış gereksinimlerini karşılamak için esnek ölçeklendirir.
    • Gigabayt 'tan fazla veri girişi olan yüksek kaliteli akış iş yükleri için adanmış katmanıdeğerlendirin. Bu katman, garantili kapasiteye sahip tek kiracılı bir tekliftir. Ayrılmış kümeleri yukarı ve aşağı ölçeklendirebilirsiniz.
  • iş yükleriniz öngörülemez ve çıkmanız gerekirse ise, Azure Cosmos DB için otomatik ölçeklendirme için sağlanan aktarım hızını düşünün. Azure Cosmos DB el ile sağlanan aktarım hızını veya otomatik ölçeklendirme sağlama verimini kullanacak şekilde yapılandırabilirsiniz. Otomatik ölçeklendirme ile Azure, istek birimlerini kullanımınıza göre otomatik olarak ve anında ölçeklendirir.

Güvenlik konuları

  • Azure özel bağlantısı 'nı kullanarak sanal ağınızın Azure hizmetlerini bir parçası haline getirin. Özel bağlantı kullandığınızda, hizmetler ve ağınız arasındaki trafik, genel İnternet 'e geçiş yapmadan Azure omurgası üzerinden akar. Bu çözümdeki Azure Hizmetleri, seçili SKU 'Lar için özel bağlantıyı destekler.

  • Kuruluşunuzun güvenlik ilkelerini denetleyin. Azure Cosmos DB Cassandra API, 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 Vaultgibi bir anahtar yönetim hizmetine yaymasını gerektirebilir. Ayrıca, anahtarları kuruluşunuzun ilkelerine göre döndürdiğinizden de emin olun.

Dayanıklılık konuları

İş açısından kritik uygulamaları veri merkezi arızalarına karşı korumak için kullanılabilirlik alanları 'nı kullanmayı düşünün. Bu çözümün Hizmetleri, kullanılabilirlik bölgesi etkinleştirilmiş bölgelerdeseçili SKU 'ların kullanılabilirlik bölgelerini destekler. Güncel bilgiler için kullanılabilirlik alanlarını destekleyen hizmetlerin listesinigözden geçirin.

Bu senaryoyu dağıtın

Bu çözümü dağıtırken bu noktaları aklınızda bulundurun:

Fiyatlandırma

Bu çözümün maliyetini tahmin etmek için Azure Fiyatlandırma hesaplayıcısı' nı kullanın. Ayrıca şu noktaları göz önünde bulundurun:

  • Event Hubs temel, standart, Premium ve adanmış katmanlarda kullanılabilir. Premium veya adanmış katman, büyük ölçekli akış iş yükleri için idealdir. Aktarım hızını ölçeklendirebilirsiniz, daha sonra küçük bir başlangıç yapın ve ardından talep arttıkça ölçeklendirin.

  • Azure Cosmos DB iki model sunar:

    • Yoğun iş yükleri için ideal olan sağlanmış bir üretilen iş modeli. Bu model iki kapasite yönetim seçeneklerinde mevcuttur: Standart ve otomatik ölçeklendirme.
    • Küçük, çıkmanız gerekirse iş yüklerini çalıştırmaya uygun olan sunucusuz bir model.
  • Aks kümesi, Azure 'da çalışan bir dizi düğüm veya sanal makine (VM) içerir. İşlem, depolama ve ağ bileşenlerinin maliyeti kümenin birincil maliyetlerini yapar.

  • PostgreSQL Için Azure veritabanı , tek sunucu, esnek sunucu ve hyperscale (Citus) katmanlarında kullanılabilir. Farklı katmanlar, öngörülebilir, Burstable ve yüksek performanslı iş yükleri gibi farklı senaryolara sahiptir. Maliyetler genellikle işlem düğümleri ve depolama kapasitesi seçimine bağlıdır.

  • Redo Için Azure önbelleği birden çok katmanda kullanılabilir. Bu katmanlar 250 megabayttan fazla terabayta kadar olan önbellekler sağlar. Boyutun yanı sıra diğer gereksinimler de katman seçimini de etkiler:

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

Sonraki adımlar

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

Analiz genel bakış

Analiz mimarisi tasarımı

Mimari kılavuzlar

Başvuru mimarileri