Öğretici: Birincil bölgeden veri okumada hata simülasyonu yapın

Bu öğretici, bir dizinin ikinci bölümüdür. Bu uygulamada, hata simülasyonu yaparak okuma erişimli coğrafi alanlar arası yedekli depolamanın (RA-GZRS) avantajları hakkında bilgi edineceksiniz.

Hata benzetimi yapmak için statik yönlendirme veya Fiddler kullanabilirsiniz. Her iki yöntem de RA-GZRS depolama hesabınızın birincil uç noktasına yönelik istekler için hata simülasyonu yapmanızı sağlar ve uygulamanın bunun yerine ikincil uç noktadan okumasını sağlar.

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Serinin ikinci bölümünde şunları öğrenirsiniz:

  • Uygulamayı çalıştırma ve duraklatma
  • Geçersiz statik yol veya Fiddler ile hata benzetimi
  • Birincil uç noktayı geri yükleme benzetimi gerçekleştirme

Önkoşullar

Bu öğreticiye başlamadan önce önceki öğreticiyi tamamlayın: Uygulama verilerinizi Azure depolama ile yüksek oranda kullanılabilir hale getirme.

Statik yönlendirme ile bir hatanın benzetimini yapmak için yükseltilmiş bir komut istemi kullanacaksınız.

Fiddler kullanarak hata simülasyonu yapmak için Fiddler'ı indirip yükleyin

Geçersiz bir statik rota ile hata benzetimi yapma

RA-GZRS depolama hesabınızın birincil uç noktasına yapılan tüm istekler için geçersiz bir statik yol oluşturabilirsiniz. Bu öğreticide, isteklerin depolama hesabına yönlendirilmesi için ağ geçidi olarak yerel ana bilgisayar kullanılır. Ağ geçidi olarak yerel konağın kullanılması, depolama hesabı birincil uç noktanıza yapılan tüm isteklerin ana bilgisayar içinde geri döndürülerek başarısız bir istekle sonuçlanmalarına neden olur. Geçersiz bir statik rota ile bir hata ve birincil uç noktayı geri yükleme benzetimi yapmak için aşağıdaki adımları izleyin.

Uygulamayı başlatma ve duraklatma

Önceki öğreticide yer alan yönergeleri kullanarak örneği başlatın ve birincil depolama alanından geldiğini onaylayarak test dosyasını indirin. Hedef platformunuza bağlı olarak, örneği el ile duraklatabilir veya bir istemde bekleyebilirsiniz.

Hata benzetimi yapma

Uygulama duraklatılırken Windows'da yönetici olarak bir komut istemi açın veya Linux'ta kök olarak terminal çalıştırın.

Değerini depolama hesabınızın adıyla değiştirerek bir komut istemine veya terminale STORAGEACCOUNTNAME aşağıdaki komutu girerek depolama hesabı birincil uç nokta etki alanı hakkında bilgi alın.

nslookup STORAGEACCOUNTNAME.blob.core.windows.net

Depolama hesabınızın IP adresini daha sonra kullanmak üzere bir metin düzenleyicisine kopyalayın.

Yerel ana bilgisayarın IP adresini almak için Windows komut isteminde ipconfig veya Linux terminalinde ifconfig yazın.

Hedef konağa statik yol eklemek için, windows komut istemine veya Linux terminaline aşağıdaki komutu yazın; değerini depolama hesabınızın IP adresiyle ve <gateway_ip> yerel ana bilgisayar IP adresinizle yazın<destination_ip>.

Linux

sudo route add <destination_ip> gw <gateway_ip>

Windows

route add <destination_ip> <gateway_ip>

Çalışan örneğin olduğu pencerede uygulamayı sürdürür veya örnek dosyayı indirmek ve ikincil depolamadan geldiğini onaylamak için uygun tuşa basın. Daha sonra örneği yeniden duraklatabilir veya istemde bekleyebilirsiniz.

Birincil uç noktayı geri yükleme benzetimi gerçekleştirme

Birincil uç noktanın yeniden işlevsel hale gelmesinin benzetimini yapmak için yönlendirme tablosundan geçersiz statik yolu silin. Bu, birincil uç noktaya yönelik tüm isteklerin varsayılan ağ geçidi üzerinden yönlendirilmesini sağlar. Windows komut isteminde veya Linux terminalinde aşağıdaki komutu yazın.

Linux

sudo route del <destination_ip> gw <gateway_ip>

Windows

route delete <destination_ip>

Ardından uygulamayı sürdürebilir veya örnek dosyayı yeniden indirmek için uygun tuşa basabilir ve bu kez bir kez daha birincil depolama alanından geldiğini onaylayabilirsiniz.

Fiddler ile hata benzetimi yapma

Fiddler ile hata benzetimi yapmak için ra-GZRS depolama hesabınızın birincil uç noktasına istekler için başarısız bir yanıt eklersiniz.

Aşağıdaki bölümlerde fiddler ile hata ve birincil uç nokta geri yükleme benzetiminin nasıl yapıldığını görebilirsiniz.

Fiddler'ı açma

Fiddler’ı açıp Kurallar’ı ve Kuralları Özelleştir’i seçin.

Fiddler kurallarını özelleştirme

Fiddler ScriptEditor başlatılır ve SampleRules.js dosyası görüntülenir. Bu dosya, Fiddler’ı özelleştirmek için kullanılır.

aşağıdaki kod örneğini işlevine OnBeforeResponse yapıştırın ve değerini depolama hesabınızın adıyla değiştirin STORAGEACCOUNTNAME . Örneğine bağlı olarak, dosyasını indirilmekte olan test dosyasının adıyla değiştirmeniz HelloWorld veya geçerli değilse koşulun bu bölümünü kaldırmanız gerekebilir. Hemen çalışmadığından emin olmak için yeni koda açıklama eklenir.

İşlem tamamlandıktan sonra Dosya ve Kaydet'i seçerek değişikliklerinizi kaydedin. Aşağıdaki adımlarda ScriptEditor penceresini açık bırakın.

    /*
        // Simulate data center failure
        // After it is successfully downloading the blob, pause the code in the sample,
        // uncomment these lines of script, and save the script.
        // It will intercept the (probably successful) responses and send back a 503 error.
        // When you're ready to stop sending back errors, comment these lines of script out again
        //     and save the changes.

        if ((oSession.hostname == "STORAGEACCOUNTNAME.blob.core.windows.net")
            // depending on the sample, you may need to modify or remove the line below
            && (oSession.PathAndQuery.Contains("HelloWorld"))) {
            oSession.responseCode = 503;
        }
    */

Özelleştirilmiş kuralı yapıştırma

Uygulamayı başlatma ve duraklatma

Önceki öğreticide yer alan yönergeleri kullanarak örneği başlatın ve birincil depolama alanından geldiğini onaylayarak test dosyasını indirin. Hedef platformunuza bağlı olarak, örneği el ile duraklatabilir veya bir istemde bekleyebilirsiniz.

Hata benzetimi yapma

Uygulama duraklatılırken Fiddler'a dönün ve işleve kaydettiğiniz özel kuralın OnBeforeResponse açıklamasını kaldırın. Kuralın geçerli olması için değişikliklerinizi kaydetmek için Dosya ve Kaydet'i seçtiğinizden emin olun. Bu kod RA-GZRS depolama hesabına yönelik istekleri arar ve yol örnek dosyanın adını içeriyorsa yanıt kodunu 503 - Service Unavailabledöndürür.

Çalışan örneğin olduğu pencerede uygulamayı sürdürür veya örnek dosyayı indirmek ve ikincil depolamadan geldiğini onaylamak için uygun tuşa basın. Daha sonra örneği yeniden duraklatabilir veya istemde bekleyebilirsiniz.

Birincil uç noktayı geri yükleme benzetimi gerçekleştirme

Fiddler'da özel kuralı yeniden kaldırın veya açıklama satırı oluşturun. Kuralın artık geçerli olmadığından emin olmak için Dosya ve Kaydet'i seçin.

Çalışan örneğin olduğu pencerede, uygulamayı sürdürür veya örnek dosyayı indirmek için uygun tuşa basın ve birincil depolama alanından geldiğini bir kez daha onaylayın. Ardından örnekten çıkabilirsiniz.

Sonraki adımlar

Serinin 2. bölümünde okuma erişimli coğrafi olarak yedekli depolamayı test etme hatasının benzetimini öğrendinsiniz.

RA-GZRS depolamanın nasıl çalıştığı ve bununla ilişkili riskleri hakkında daha fazla bilgi edinmek için bkz. RA-GZRS ile HA uygulamaları tasarlama.