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 sorgular kullanarak karmaşık olay işleme işlem hatları oluşturmak için kullanabileceğiniz bilgileri 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. Görev açısından kritik işleri bölge kesintilerine ve hizmet bakımına karşı koruma konusunda rehberlik sağlar. Ayrıca Stream Analytics hizmet düzeyi sözleşmesi (SLA) hakkındaki önemli bilgileri de vurgular.

Önemli

Diğer bileşenler eşit düzeyde dayanıklı değilse stream analytics'in dayanıklılığının artırılması tek başına 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 kullanan üretim ortamlarında yüksek güvenilirlik sağlamak için aşağıdaki eylemleri gerçekleştirmenizi öneririz:

  • Kullanılabilirlik alanlarını destekleyen bölgeleri kullanın. Akış işlerinizi ve kullanılabilirlik alanlarını destekleyen bölgelerdeki diğer kaynakları dağıtın.
  • Yeterli kapasite dağıtın. Akış birimlerinizi (SU) beklenen aktarım hızınıza ve en yüksek yükleri işlemek için ek kapasiteye göre ayarlayın. Ani artışları karşılamak için temel gereksinimlerinizin üzerine bir tampon ekleyin.
  • Sağlık durumunu izleyin. İş durumunu, giriş ve çı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. Veri işlemeyi etkilemeden önce sorunları algılamak için filigran gecikmesi ve çalışma zamanı hataları gibi kritik ölçümler için uyarılar ayarlayın. Daha fazla bilgi için bkz . Stream Analytics'i izleme.
  • Görev açısından kritik iş yükleri için çok bölgeli yedeklilik uygulayın. Aynı Stream Analytics işlerini birden çok bölgeye dağıtın. Yapılandırmalarını çoğaltın ve bölgesel dayanıklılık elde etmek için uygun veri yönlendirmesini sağlayın. Stream Analytics doğrudan çok bölgeli çoğaltma sağlamaz, ancak bu yaklaşım yedekli geçiş 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ımlayıp çalıştırmanıza olanak tanıyan 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 ve Power BI gibi farklı hedeflere sürekli sonuç yazan çıkışlar.

Daha fazla bilgi için bkz . 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 güçlü bir şekilde çalışmasını sağlamaya yardımcı olur:

  • Çalışan düğümleri: Stream Analytics işleri bir küme içinde çalışır. Küme içindeki sanal makineler (VM' ler) çalışan düğümleri olarak bilinir. Standart veya Standart V2 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önetir, böylece VM'leri doğrudan görmez veya yönetmezsiniz.

  • SU'lar: SU'lar, bir işi çalıştıran işlem kaynaklarını temsil eden. SU sayısı ne kadar yüksek olursa, iş için o kadar fazla işlem kaynağı ayrılır. Platform çalışan düğümlerini ve çalışan düğümleri arasında iş dağıtımını yönetir, ancak SU'ları işlere ayırma sorumluluğu size ait olur. Daha fazla bilgi için bkz. Stream Analytics SU'larını 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 en az veri yeniden işleme ile başarısız işlerin hızla kurtarılmasına yardımcı olur.

    İş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ı 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 olarak bir kere teslime ulaşmak, çıkış hedefinizin özelliklerine bağlıdır. Daha fazla bilgi için bkz. Stream Analytics işlerinde denetim noktası ve yeniden yürütme kavramları.

Uyarı

IoT Edge'de Stream Analytics'i kullanarak işleri kendi altyapınızda çalıştırabilirsiniz. IoT Edge'de Stream Analytics'i kullandığınızda, güvenilirlik gereksinimlerinizi karşılayacak şekilde ayarlamak 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, yerleşik yeniden deneme mekanizmalarını kullanarak girişlerden veri alıp çıkışlara veri yazdığında birçok geçici hatayı otomatik olarak işler. İşçi düğümü yeniden başlatıldığında veya iş yeniden atandığında, iş, tam olarak işlenmemiş olayları tekrar işlemek için kontrol noktalarını kullanır ve mevcut giriş akışına ulaşana kadar işleme devam eder.

Çıkış hata ilkelerini ayarlamak iyi bir uygulamadır. Ancak bu ilkeler yalnızca veri dönüştürme hataları için geçerlidir ve Stream Analytics'in geçici hataları işleme biçimini değiştirmez.

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 bölge yedekliliği sağlar, 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 çok çeşitli hatalara karşı dayanıklı kalması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.

Bölge yedeklemeli 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.

Bir bölge çalışmadığında çalışmaya devam eden bölge yedekli Stream Analytics işini gösteren diyagram.

Alanlar arası yedeklilik sorgu işleme, denetim noktası oluşturma ve iş yönetimi görevleri 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ğaltır ve bu da veri kaybını önler ve bölge hataları sırasında kapalı kalma süresini azaltır.

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. Azure bölgeleri listesi.
  • SKU gereksinimleri: Bölge yedekliliği tüm Stream Analytics SKU'larında kullanılabilir.

Maliyet

Stream Analytics'te alanlar arası yedeklilik ek ücret ödemez. İşinizin alanlar arası yedekli bir yapılandırmada veya alanlar arası yedekli olmayan bir yapılandırmada çalışması fark etmeksizin SU'lar için aynı ücreti ödersiniz. Daha fazla bilgi için bkz . 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şleri alanlar arası yedekli olduğunda ve tüm kullanılabilirlik alanları çalışır durumda olduğunda neler bekleyebileceğiniz açıklanmaktadır.

  • Bölgeler arasında trafik yönlendirme: Stream Analytics her işi çalışan düğümlerinde çalıştırır. Herhangi bir bölgedeki çalışanlar gelen akış verilerini işleyebilecek. 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. İş olayları işler ve durumunu güncelleştirirken Stream Analytics, bu değişiklikleri kabul etmeden önce birden çok erişilebilirlik bölgesine kaydeder. 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şleri alanlar arası yedekli olduğunda 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 buna yanıt vermekten sorumludur. Stream Analytics, başarısız bölgedeki çalışanları iyi durumda değil olarak işaretler ve işleri kalan sağlıklı bölgelerdeki çalışanlara otomatik olarak yeniden dağıtı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: Stream Analytics, çalışmakta olan işleri sağlıklı bir kullanılabilirlik alanındaki başka bir çalışana aktarıyor.

    Stream Analytics, işleme durumunu korumak için denetim noktası oluşturmayı kullanır. Bölge arızası sırasında, iyi durumdaki bölgelerdeki işlemciler son denetim noktasından başlayarak başarısız bölgede çalışan işleri otomatik olarak yeniden işler.

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

  • Beklenen kapalı kalma süresi: Devam eden işler, platform bunları iyi durumdaki bir çalışana taşımasının ardından otomatik olarak sürdürülür.

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

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.

Bölge kurtarma için herhangi bir eylem gerçekleştirmezsiniz. Platform, durum çoğaltma ve iş yükü yeniden dağıtımı dahil olmak üzere tüm bölge kurtarma görevlerini işler.

Bölge hataları için test

Stream Analytics platformu trafik yönlendirmesini, yük devretmeyi ve bölge kurtarmayı yönetir, bu nedenle kullanılabilirlik alanı hata 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. Bu yaklaşımı benimsediğinizde, işleri dağıtmak ve yönetmek ve uygun veri yönlendirme ve çoğaltma stratejilerini ayarlamak 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. Daha fazla bilgi için bkz. Stream Analytics işleri için coğrafi yedeklilik elde edin.

Yedekleme ve kurtarma

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

İş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ı bölgeye veya başka bir Azure bölgesine dağıtabilirsiniz. Daha fazla bilgi için bkz . 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ı yapar. Hizmet güncelleştirmelerini haftalık veya daha sık dağıtabilir. Stream Analytics, yüksek kaliteden emin olmak için tüm yeni güncelleştirmeleri test eder.

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

  • İşleri tekrar yürütmelere dayanıklı olacak şekilde ayarlayın. Stream Analytics genellikle hizmet bakımı sonrasında verileri geri yüklemek için denetim noktalarını kullanır. Ancak bazen bunun yerine bir yeniden yürütme tekniği kullanması gerekir. Yeniden yürütmelerin çıkışınızda yanlış veya kısmi sonuçlara neden olmayacak şekilde giriş veri kaynaklarınızı ayarlamanız gerekir. Daha fazla bilgi için bkz. Hizmet Yükseltmesinden İş Kurtarma.

  • Aynı işleri dağıtarak hata riskini azaltmayı göz önünde bulundurun. Hizmet, dağıtımın hatalar getirip getirmediğini kontrol etmek için her grup dağıtımdan sonra sinyalleri proaktif olarak arar. Ancak ne kadar test ederseniz edin, bakım bir sorun yarattığında, devam eden bir iş başarısız olabilir. Görev açısından kritik işler çalıştırıyorsanız, bu riski azaltmak için gereken adımları uygulayın.

    İki Azure bölgesine aynı işleri dağıtarak iş yükünüzü etkileyen bir hata riskini azaltabilirsiniz. Beklenmeyen bir durum oluştuğunda bildirim almak için bu işleri izleyin. Bu işlerden biri Stream Analytics hizmet güncelleştirmesinin ardından başarısız duruma girerse aşağıdaki eylemleri gerçekleştirin:

    • Nedenini belirlemeye ve sorunu düzeltmeye 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 eşleştirildiğine ilişkin en güncel bilgileri içerir. Stream Analytics, eşleştirilmiş bölgelerdeki altyapının farklı zamanlarda güncelleştirildiğini garanti eder. Stream Analytics güncelleştirmeleri eşleştirilmiş bölgeler kümesinde aynı anda dağıtılamaz. Olası sorunları belirlemek ve düzeltmek için güncelleştirmeler arasında yeterli bir 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 ve işlerin işlemleri için API çağrıları için ayrı kullanılabilirlik SLA'ları sağlar.