Aracılığıyla paylaş


Azure Stream Analytics'te güvenilirlik

Azure Stream Analytics , aynı anda birden çok kaynaktan gelen akış verilerini işleyen ve analiz eden yüksek oranda dayanıklı bir hizmettir. Stream Analytics, SQL benzeri sorgularla karmaşık olay işleme işlem hatları oluşturmanıza olanak tanıyan bilgiler sağlar.

Azure'ı kullandığınızda güvenilirlik paylaşılan bir sorumluluktır. Microsoft, dayanıklılık ve kurtarmayı desteklemek için çeşitli özellikler sunar. Bu özelliklerin kullandığınız tüm hizmetler içinde nasıl çalıştığını anlamak ve iş hedeflerinize ve çalışma süresi hedeflerinize ulaşmak için ihtiyacınız olan özellikleri seçmek sizin sorumluluğunuzdadır.

Bu makalede, Stream Analytics'in geçici hatalar ve kullanılabilirlik alanı kesintileri gibi olası sorunlara karşı nasıl dayanıklı olduğu açıklanmaktadır. Ayrıca görev açısından kritik işleri bölge kesintilerine ve hizmet bakımına karşı koruma konusunda rehberlik sağlar ve Stream Analytics hizmet düzeyi sözleşmesi (SLA) hakkında bazı önemli bilgileri vurgularız.

Önemli

Yalnızca Stream Analytics'in dayanıklılığının artırılması, diğer bileşenler eşit düzeyde dayanıklı değilse sınırlı bir etkiye sahip olabilir. Girişler ve çıkışlar dahil olmak üzere veri kaynaklarınızın güvenilirliğini göz önünde bulundurun. Dayanıklılık gereksinimlerinize bağlı olarak, birden çok alanda yapılandırma değişiklikleri yapmanız gerekebilir.

Üretim dağıtımı önerileri

Stream Analytics ile üretim ortamlarında yüksek güvenilirlik sağlamak için şunları yapmanızı öneririz:

  • Kullanılabilirlik alanları olan bölgeleri kullanın: Akış işlerinizi ve kullanılabilirlik alanlarını destekleyen bölgelerdeki diğer kaynakları dağıtın.
  • Yeterli kapasiteyi dağıtın: Akış birimlerinizi beklenen aktarım hızınıza göre, en yüksek yükleri işlemek için ek kapasiteyle ve ani artışlar olması durumunda temel gereksinimlerinizin üzerinde bir arabellekle ayarlayın.
  • Sistem durumunu izleme: İş durumunu, giriş/çıkış olaylarını ve kaynak kullanımını izlemek için Azure İzleyici ölçümlerini ve tanılama günlüklerini kullanarak kapsamlı izleme uygulayın. Filigran gecikmesi ve çalışma zamanı hataları gibi kritik ölçümler için uyarıları, veri işlemeyi etkilemeden önce sorunları algılamak üzere yapılandırın. Daha fazla bilgi için bkz. Azure Stream Analytics'i izleme.
  • Görev açısından kritik iş yükleri için çok bölgeli yedeklilik uygulama: Eşitlenmiş yapılandırmalar ve bölgesel dayanıklılık elde etmek için uygun veri yönlendirmesi ile aynı Stream Analytics işlerini birden çok bölgeye dağıtın. Stream Analytics yerel çok bölgeli çoğaltma sağlamasa da, bu yaklaşım yük devri ve süreklilik sağlar. Daha fazla bilgi için bkz. Dayanıklılık için özel çok bölgeli çözümler.

Güvenilirlik mimarisine genel bakış

Bu bölümde, hizmetin nasıl çalıştığına ilişkin güvenilirlik açısından en uygun olan bazı önemli yönler açıklanmaktadır. bölümünde dağıttığınız ve kullandığınız bazı kaynak ve özellikleri içeren mantıksal mimari tanıtılır. Ayrıca, hizmetin kapaklar altında nasıl çalıştığına ilişkin ayrıntılar sağlayan fiziksel mimariyi de ele alır.

Mantıksal mimari

Görev, Stream Analytics'te akış işleme mantığınızı tanımlamanızı ve yürütmenizi sağlayan temel birimdir. bir iş aşağıdaki ana bileşenlerden oluşur:

  • Azure Event Hubs, Azure IoT Hub veya Azure Depolama gibi veri kaynaklarından akış verilerini okuyan girişler.
  • Verileri işleyen ve dönüştüren bir sorgu .
  • Azure SQL Veritabanı, Azure Data Lake Storage, Azure Cosmos DB, Power BI ve daha fazlası gibi çeşitli hedeflere sürekli sonuç yazan çıkışlar.

Stream Analytics işleri ve kaynak modeli hakkında daha fazla bilgi için bkz. Azure Stream Analytics kaynak modeli.

Fiziksel mimari

Stream Analytics, temel alınan altyapı ve giriş ve çıkış veri kaynaklarındaki sorunları azaltmak için birden çok dayanıklılık katmanı uygulayarak yüksek güvenilirlik elde eder. Aşağıdaki bileşenler, işlerinizin sağlam çalışmasını sağlamaya yardımcı olur:

  • Çalışan düğümleri. Sanal makineler (VM) üzerinde bir küme içinde çalışan, işçi düğümler olarak adlandırılan Stream Analytics işleri. Standart veya StandardV2 SKU'larını kullandığınızda, işleriniz paylaşılan kümelerde çalışır. Ayrılmış SKU'yu kullandığınızda işleriniz kendi ayrılmış kümelerinde çalışır.

    Platform çalışan düğümü oluşturmayı, çalışan düğümleri arasında iş yerleştirmeyi, sistem durumunu izlemeyi ve iyi durumda olmayan çalışan düğümlerinin değiştirilmesini otomatik olarak yönettiğinden VM'leri doğrudan görmez veya yönetemezsiniz.

  • Akış birimleri. Platform çalışan düğümlerini ve çalışan düğümleri arasında iş dağıtımını yönetirken, akış birimlerini (SU) işlere ayırmaktan siz sorumlu olursunuz. SU'lar bir işi yürüten işlem kaynaklarını temsil edilir. SU sayısı ne kadar yüksek olursa, iş için o kadar fazla işlem kaynağı ayrılır. Daha fazla bilgi için bkz . Stream Analytics akış birimlerini anlama ve ayarlama.

  • Denetim noktaları. Stream Analytics, durumu düzenli olarak kontrol ederek iş durumunu korur. Denetim noktaları, durum bilgisi olan sorgu mantığı kullanan işler için bile hata durumunda minimum veri yeniden işleme ile hızlı kurtarma sağlar.

    İşleme hataları oluştuğunda, Stream Analytics son denetim noktasından otomatik olarak yeniden başlatılır ve işleme sırasında başarısız olan olayları otomatik olarak yeniden işler. Bu garanti, iş içindeki tüm yerleşik işlevler ve kullanıcı tanımlı işlevler için geçerlidir. Ancak, uçtan uca tam bir kez teslimat elde etmek, çıkış hedefinizin özelliklerine bağlıdır. Daha fazla bilgi için bkz. Azure Stream Analytics işlerinde denetim noktası ve yeniden yürütme kavramları.

Uyarı

IoT Edge'de Azure Stream Analytics ile işleri kendi altyapınızda çalıştırabilirsiniz. IoT Edge'de Stream Analytics'i kullandığınızda, bunu güvenilirlik gereksinimlerinizi karşılayacak şekilde yapılandırmak sizin sorumluluğunuzdadır. IoT Edge'de Stream Analytics bu makalenin kapsamı dışındadır.

Geçici hatalara dayanıklılık

Geçici hatalar, bileşenlerde kısa ve aralıklı hatalardır. Bunlar genellikle bulut gibi dağıtılmış bir ortamda gerçekleşir ve işlemlerin normal bir parçasıdır. Geçici hatalar kısa bir süre sonra kendilerini düzeltmektedir. Uygulamalarınızın genellikle etkilenen istekleri yeniden deneyerek geçici hataları işleyebileceği önemlidir.

Bulutta barındırılan tüm uygulamalar, bulutta barındırılan API'ler, veritabanları ve diğer bileşenlerle iletişim kurarken Azure geçici hata işleme yönergelerini izlemelidir. Daha fazla bilgi için bkz Geçici hataları ele alma önerileri.

Stream Analytics, hem girişlerden veri alma hem de yerleşik yeniden deneme mekanizmaları aracılığıyla çıkışlara veri yazma için birçok geçici hatayı otomatik olarak işler. Çalışan düğümü yeniden başlatıldıktan veya iş yeniden atandıktan sonra iş, tam olarak işlenmeyen olayları yeniden oynatmak için denetim noktalarını kullanır ve geçerli giriş akışına ulaşana kadar işlemeye devam eder.

Çıkış hata ilkelerini yapılandırmak iyi bir uygulamadır. Ancak bu ilkeler yalnızca veri dönüştürme hataları için geçerlidir ve geçici hataları işleme davranışını etkilemez.

Kullanılabilirlik alanı hatalarına dayanıklılık

Kullanılabilirlik alanları , bir Azure bölgesi içindeki veri merkezlerinin fiziksel olarak ayrı gruplarıdır. Bir bölge başarısız olduğunda hizmetler kalan bölgelerden birine devredilebilir.

Stream Analytics, kullanılabilirlik alanlarını destekleyen bölgelerde otomatik olarak alanlar arası yedeklidir ve bu da işlerin birden çok kullanılabilirlik alanı kullandığı anlamına gelir. Alanlar arası yedeklilik, işinizin uygulama mantığında herhangi bir değişiklik yapmadan yıkıcı veri merkezi kesintileri de dahil olmak üzere büyük bir hata kümesine dayanıklı olmasını sağlar.

Bölge etkin bir bölgede Stream Analytics işi oluşturduğunuzda, hizmet işinizin işlem kaynaklarını birden çok kullanılabilirlik alanına dağıtır:

Alanlar arası yedekli Stream Analytics işini gösteren diyagram.

Bu alanlar arası yedekli dağıtım modeli, kullanılabilirlik bölgesinin tamamı kullanılamaz duruma gelse bile akış işlerinizin verileri işlemeye devam etmesini sağlar. Örneğin, aşağıdaki diyagramda, bölge 3'de kesinti yaşandığında işlerin nasıl çalışmaya devam etmesi gösterilmektedir:

Bölge yedekliliği olan Stream Analytics işinin bir bölge kapatıldığında çalışmaya devam ettiğini gösteren diyagram.

Alanlar arası yedeklilik sorgu işleme, denetim noktası oluşturma ve iş yönetimi işlemleri de dahil olmak üzere tüm Stream Analytics özellikleri için geçerlidir. Stream Analytics, işinizin durumunu ve denetim noktası verilerini kullanılabilirlik alanları arasında otomatik olarak çoğaltarak veri kaybını önler ve bölge hataları sırasında neredeyse sıfıra yakın kapalı kalma süresini etkinleştirir.

Gereksinimler

  • Bölge desteği: Stream Analytics kaynakları için alanlar arası yedeklilik, kullanılabilirlik alanlarını destekleyen tüm bölgelerde desteklenir. Kullanılabilirlik alanlarını destekleyen bölgelerin tam listesi için bkz. Kullanılabilirlik alanları olan Azure bölgeleri.
  • Skus: Bölge yedekliliği tüm Stream Analytics SKU'larında kullanılabilir.

Maliyet

Stream Analytics'te alanlar arası yedeklilik ek ücret ödemez. İşiniz alanlar arası yedekli bir yapılandırmada çalıştırılsa da çalışmasa da akış birimleri için aynı fiyatı ödersiniz. Bilgi için bkz. Azure Stream Analytics fiyatlandırması.

Kullanılabilirlik alanı desteğini yapılandırma

Tüm bölgeler sağlıklı olduğunda davranış

Bu bölümde Stream Analytics işlerini kullanılabilirlik alanı desteğiyle yapılandırdığınızda ve tüm kullanılabilirlik alanları çalışır durumda olduğunda neler bekleyebileceğiniz açıklanmaktadır.

  • Bölgeler arasında trafik yönlendirmesi. Stream Analytics her işi çalışan düğümlerinde çalıştırır. Gelen akış verileri herhangi bir bölgedeki çalışanlar tarafından işlenebilir. Hizmet, işlem görevlerini bölgeler arasında dağıtmak için iç yük dengeleme kullanır.

  • Bölgeler arasında veri çoğaltma. Stream Analytics, iş durumu ve denetim noktası verilerini kullanılabilirlik alanları arasında zaman uyumlu olarak çoğaltır. Görev olayları işler ve durumunu güncellerken, Stream Analytics bu değişiklikleri kabul etmeden önce birden çok kullanılabilirlik bölgesine yazar. Bu zaman uyumlu çoğaltma, bölgenin tamamı kullanılamaz duruma gelse bile sıfır veri kaybı sağlar. Çoğaltma işlemi uygulamanız için saydamdır ve normal koşullarda işleme gecikmesini etkilemez.

Bölge hatası sırasındaki davranış

Bu bölümde Stream Analytics işlerini kullanılabilirlik alanı desteğiyle yapılandırdığınızda ve kullanılabilirlik alanı kesintisi olduğunda neler bekleyebileceğiniz açıklanmaktadır.

  • Algılama ve yanıt: Stream Analytics platformu, kullanılabilirlik alanındaki bir hatayı algılamaktan ve yanıtlamaktan sorumludur. Stream Analytics, başarısız bölgedeki çalışanları iyi durumda değil olarak işaretler ve bu çalışanlar üzerinde çalışan işler, kalan iyi durumdaki bölgelerdeki çalışanlara otomatik olarak yeniden dağıtılır. Bölge yük devretmesini başlatmak için herhangi bir işlem yapmanız gerekmez.
  • Bildirim: Bir bölge kapatıldığında Microsoft sizi otomatik olarak bilgilendirmez. Ancak, tek bir kaynağın durumunu izlemek için Azure Kaynak Durumu'nı kullanabilir ve sorunları size bildirmek için Kaynak Durumu uyarıları ayarlayabilirsiniz. Azure Hizmet Durumu'nı , bölge hataları dahil olmak üzere hizmetin genel durumunu anlamak için de kullanabilir ve sorunları size bildirmek için Hizmet Durumu uyarıları ayarlayabilirsiniz.
  • Etkin istekler: İşlemdeki görevler, iyi durumdaki bir kullanılabilirlik alanında başka bir işçiye aktarılır.

    Stream Analytics, işleme durumunu korumak için denetim noktası oluşturmayı kullanır. Bölge hatası sırasında, başarısız bölgedeki çalışanlar tarafından işlenen uçuş içi olaylar, sağlıklı bölgelerdeki çalışanlar tarafından son kontrol noktasından otomatik olarak yeniden işlenir.

  • Beklenen veri kaybı: İş denetim noktası oluşturma sistemi veri kaybı olmamasını sağlar.

  • Beklenen kapalı kalma süresi: Devam halindeki işler, platform bunları iyi durumdaki bir çalışana taşıdıktan sonra otomatik olarak sürdürülür.

  • Trafik yönlendirme: Hizmet, tüm yeni giriş verilerini otomatik olarak sağlıklı bölgelerdeki çalışanlara yönlendirir. Giriş kaynaklarından gelen mevcut bağlantılar, işletim bölgelerindeki çalışanlarla yeniden kurulur. Çıkış bağlantıları benzer şekilde yeniden oluşturulur ve akış işlem hattınızda sürekli veri akışı sağlanır.

Bölge kurtarma

Başarısız kullanılabilirlik alanı kurtarıldığında, Stream Analytics bunu otomatik olarak etkin işlem havuzuna yeniden ekler. İşler kurtarılan altyapıyı kullanmaya başlar.

Platform, durum eşitlemesi ve iş yükü yeniden dağıtımı dahil olmak üzere bölge kurtarma işlemlerinin tüm yönlerini işlediğinden, bölge kurtarma için herhangi bir eylem gerçekleştirmezsiniz.

Bölge hataları için test

Stream Analytics platformu, trafik yönlendirmeyi, yük devretmeyi ve bölge kurtarmayı yönetirken, kullanılabilirlik bölgesi arıza işlemlerini başlatmanız veya doğrulamanız gerekmez.

Bölge genelindeki hatalara dayanıklılık

Stream Analytics kaynakları tek bir Azure bölgesine dağıtır. Bölge kullanılamaz duruma gelirse, işleriniz ve (varsa) ayrılmış kümeler de kullanılamaz hale gelir.

Dayanıklılık için özel çok bölgeli çözümler

Akış iş yükleriniz için çok bölgeli dayanıklılık elde etmek için, birden çok bölgeye ayrı işler dağıtmayı göz önünde bulundurun. Bunu yaptığınızda, işleri dağıtmak ve yönetmek ve uygun veri yönlendirme ve eşitleme stratejilerini yapılandırmak sizin sorumluluğunuzdadır. Stream Analytics işleri iki ayrı varlıktır. Hem bölgesel girişlere giriş verileri göndermek hem de bölgesel çıkışları mutabık hale getirmek uygulamanızın sorumluluğundadır. Bu yaklaşım hakkında daha fazla bilgi için bkz. Stream Analytics işleri için coğrafi yedeklilik elde edin.

Yedekleme ve geri yükleme

Stream Analytics'in yerleşik bir yedekleme ve geri yükleme özelliği yoktur.

Ancak, işlerinizin tanımını ve yapılandırmasını taşımak, kopyalamak veya yedeklemek istiyorsanız, Visual Studio Code için Stream Analytics uzantısını kullanarak Azure bulutunda var olan bir işi yerel bilgisayarınıza aktarabilirsiniz. Stream Analytics işlerinizin tüm yapılandırmasını yerel olarak kaydettikten sonra, bunu aynı veya başka bir Azure bölgesine dağıtabilirsiniz. Stream Analytics işlerinizi kopyalamayı, yedeklemeyi ve taşımayı öğrenmek için bkz. Azure Stream Analytics işlerinizi kopyalama, yedekleme ve taşıma.

Hizmet bakımına dayanıklılık

Stream Analytics, güvenlik güncelleştirmelerini uygulamak, yeni özellikler dağıtmak ve hizmet güvenilirliğini artırmak için otomatik platform bakımı gerçekleştirir. Sonuç olarak, Stream Analytics'te hizmet güncelleştirmeleri haftalık (veya daha sık) dağıtılabilir. Stream Analytics hizmeti, yeni güncelleştirmelerin en yüksek kaliteye sahip olmak için sıkı iç halkalardan geçmesini sağlar.

İşlerinizin hizmet bakım etkinliklerine dayanıklı olduğundan emin olmak için aşağıdaki noktaları göz önünde bulundurun:

  • İşleri yeniden yürütmelere dayanıklı olacak şekilde yapılandırın: Denetim noktaları genellikle hizmet bakımı sonrasında verileri geri yüklemek için kullanılır. Ancak bazen denetim noktası yerine yeniden oynatma tekniğinin kullanılması gerekir. Daha fazla bilgi edinmek ve giriş veri kaynaklarınızı, yeniden oynatmaların çıkışınızda yanlış veya kısmi sonuçlara neden olmayacak şekilde nasıl yapılandıracağınızı öğrenmek için bkz. Hizmet yükseltmesinden iş kurtarma.

  • Aynı işleri dağıtarak hata riskini azaltmayı göz önünde bulundurun: Hizmet, herhangi bir hata olmadığından daha fazla güven elde etmek için her toplu işe dağıtıldıktan sonra proaktif olarak birçok sinyal arar. Bununla birlikte, ne kadar test yapılırsa yapılsın, bakım sırasında ortaya çıkan bir sorun nedeniyle halihazırda çalışan bir görevin bozulması riski hala vardır. Görev açısından kritik işler çalıştırıyorsanız, bu riskten kaçınmak için adımlar atmalısınız.

    İki Azure bölgesine aynı işleri dağıtarak iş yükünüzü etkileyen bir hata riskini azaltabilirsiniz. Ardından beklenmeyen bir şey olduğunda bildirim almak için bu işleri izlemeniz gerekir. Bu işlerden biri Stream Analytics hizmet güncelleştirmesinin ardından Başarısız duruma gelirse şunları yapmalısınız:

    • Nedenini belirlemenize ve sorunu çözmenize yardımcı olması için Azure desteğine başvurun.
    • İyi durumda olan iş çıkışını kullanabilmeleri için tüm aşağı akış tüketicilerini başka bir işleme geçiriniz.

    İkincil işiniz için kullanılacak Azure bölgelerini seçtiğinizde bölgenizin eşleştirilmiş bir bölgesi olup olmadığını göz önünde bulundurun. Azure bölgeleri listesi, hangi bölgelerin çiftlendiğine ilişkin en güncel bilgilere sahiptir. Stream Analytics, eşleştirilmiş bölgelerdeki altyapının farklı zamanlarda güncelleştirildiğini garanti eder. Bir güncelleştirmenin Stream Analytics'e dağıtımı, eşleştirilmiş bir bölge kümesinde aynı anda gerçekleşmez. Sonuç olarak, olası sorunları belirlemek ve düzeltmek için güncelleştirmeler arasında yeterli zaman aralığı vardır.

Hizmet düzeyi sözleşmesi

Azure hizmetleri için hizmet düzeyi sözleşmesi (SLA), her hizmetin beklenen kullanılabilirliğini ve bu kullanılabilirlik beklentisini elde etmek için çözümünüzün karşılaması gereken koşulları açıklar. Daha fazla bilgi için çevrimiçi hizmetler için SLA'lar sayfasına bakın.

Stream Analytics, işleri yönetmek için API çağrıları ve işlerin işlemleri için ayrı kullanılabilirlik SLA'ları sağlar.