Bagikan melalui


Tutorial: Mensimulasikan kegagalan dalam membaca data dari wilayah utama

Tutorial ini adalah bagian kedua dari rangkaian tutorial. Di dalamnya, Anda akan mempelajari tentang manfaat penyimpanan geo-zona-read-access yang redundant (RA-GZRS) dengan melakukan simulasi kegagalan.

Untuk mensimulasikan kegagalan, Anda dapat menggunakan perutean statis atau Fiddler. Kedua metode akan memungkinkan Anda mensimulasikan kegagalan permintaan ke titik akhir utama akun penyimpanan RA-GZRS Anda, yang mengarahkan aplikasi untuk membaca dari titik akhir sekunder sebagai gantinya.

Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.

Di bagian dua seri tutorial ini, Anda belajar cara:

  • Menjalankan dan menjeda aplikasi
  • Mensimulasikan kegagalan dengan rute statis atau Fiddler yang tidak valid
  • Mensimulasikan pemulihan titik akhir utama

Prasyarat

Sebelum Anda memulai tutorial ini, selesaikan tutorial sebelumnya: Buat data aplikasi Anda sangat tersedia dengan penyimpanan Azure.

Untuk mensimulasikan kegagalan dengan perutean statis, Anda akan menggunakan prompt perintah yang ditingkatkan.

Untuk mensimulasikan kegagalan menggunakan Fiddler, unduh dan instal Fiddler

Mensimulasikan kegagalan dengan rute statis yang tidak valid

Anda dapat membuat rute statis yang tidak valid untuk semua permintaan ke titik akhir utama akun penyimpanan RA-GZRS Anda. Dalam tutorial ini, host lokal dipakai sebagai gateway untuk perutean permintaan ke akun penyimpanan. Menggunakan host lokal sebagai gateway menyebabkan semua permintaan ke titik akhir utama akun penyimpanan Anda diulang kembali di dalam host, yang mengakibatkan permintaan yang gagal. Ikuti langkah-langkah berikut untuk mensimulasikan kegagalan, dan pemulihan titik akhir utama dengan rute statis yang tidak valid.

Memulai dan menjeda aplikasi

Gunakan instruksi dalam tutorial sebelumnya untuk meluncurkan sampel dan mengunduh file pengujian, mengonfirmasi bahwa itu berasal dari penyimpanan utama. Bergantung pada platform target, Anda kemudian dapat menjeda sampel secara manual atau menunggu di sebuah prompt.

Mensimulasikan kegagalan

Saat aplikasi dijeda, buka prompt perintah di Windows sebagai administrator atau jalankan terminal sebagai root di Linux.

Dapatkan informasi tentang domain titik akhir utama akun penyimpanan dengan memasukkan perintah berikut pada prompt perintah atau terminal, mengganti STORAGEACCOUNTNAME dengan nama akun penyimpanan Anda.

nslookup STORAGEACCOUNTNAME.blob.core.windows.net

Salin alamat IP akun penyimpanan Anda ke editor teks untuk digunakan nanti.

Untuk mendapatkan alamat IP host lokal Anda, ketik ipconfig pada prompt perintah Windows, atau ifconfig di terminal Linux.

Untuk menambahkan rute statis untuk host tujuan, ketik perintah berikut pada prompt perintah Windows atau terminal Linux, ganti <destination_ip> dengan alamat IP akun penyimpanan Anda dan <gateway_ip> dengan alamat IP host lokal Anda.

Linux

sudo route add <destination_ip> gw <gateway_ip>

Windows

route add <destination_ip> <gateway_ip>

Di jendela dengan sampel yang sedang berjalan, lanjutkan aplikasi atau tekan tombol yang sesuai untuk mengunduh file sampel dan konfirmasikan bahwa itu berasal dari penyimpanan sekunder. Anda kemudian dapat menjeda contoh lagi atau menunggu pada prompt.

Mensimulasikan pemulihan titik akhir utama

Untuk mensimulasikan titik akhir utama menjadi fungsional lagi, hapus rute statis yang tidak valid dari tabel perutean. Ini memungkinkan semua permintaan ke titik akhir utama dirutekan melalui gateway default. Ketik perintah berikut pada prompt perintah Windows atau terminal Linux.

Linux

sudo route del <destination_ip> gw <gateway_ip>

Windows

route delete <destination_ip>

Anda kemudian dapat melanjutkan aplikasi atau menekan tombol yang sesuai untuk mengunduh file sampel lagi, kali ini mengonfirmasi bahwa aplikasi sekali lagi berasal dari penyimpanan utama.

Mensimulasikan kegagalan dengan Fiddler

Untuk mensimulasikan kegagalan dengan Fiddler, Anda menyuntikkan respons yang gagal untuk permintaan ke titik akhir utama akun penyimpanan RA-GZRS Anda.

Bagian berikut menggambarkan cara mensimulasikan kegagalan dan pemulihan titik akhir utama dengan fiddler.

Meluncurkan Fiddler

Buka Fiddler, pilih Aturan dan Sesuaikan Aturan.

Menyesuaikan aturan Fiddler

Fiddler ScriptEditor meluncurkan dan menampilkan file SampleRules.js . File ini digunakan untuk menyesuaikan Fiddler.

Tempelkan sampel kode berikut dalam OnBeforeResponse fungsi, ganti STORAGEACCOUNTNAME dengan nama akun penyimpanan Anda. Bergantung pada sampel, Anda mungkin juga perlu mengganti HelloWorld dengan nama file pengujian yang diunduh, atau menghapus bagian kondisi tersebut jika tidak berlaku. Kode baru dikomentari agar tidak langsung dijalankan.

Setelah selesai, pilih File dan Simpan untuk menyimpan perubahan Anda. Biarkan jendela ScriptEditor terbuka untuk digunakan dalam langkah-langkah berikut.

    /*
        // 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;
        }
    */

Menempelkan aturan yang dikustomisasi

Memulai dan menjeda aplikasi

Gunakan instruksi dalam tutorial sebelumnya untuk meluncurkan sampel dan mengunduh file pengujian, mengonfirmasi bahwa itu berasal dari penyimpanan utama. Bergantung pada platform target, Anda kemudian dapat menjeda sampel secara manual atau menunggu di suatu prompt.

Mensimulasikan kegagalan

Saat aplikasi dijeda, beralih kembali ke Fiddler dan hapus komentar dari aturan kustom yang Anda simpan dalam fungsi OnBeforeResponse. Pastikan untuk memilih File dan Simpan untuk menyimpan perubahan Anda sehingga aturan akan berlaku. Kode ini mencari permintaan ke akun penyimpanan RA-GZRS dan, jika jalur berisi nama file sampel, mengembalikan kode respons .503 - Service Unavailable

Di jendela dengan sampel yang sedang berjalan, lanjutkan aplikasi atau tekan tombol yang sesuai untuk mengunduh file sampel dan konfirmasikan bahwa itu berasal dari penyimpanan sekunder. Anda kemudian dapat menjeda contoh lagi atau menunggu di tampilan prompt.

Mensimulasikan pemulihan titik akhir utama

Di Fiddler, hapus atau komentari aturan kustom lagi. Pilih File dan Simpan untuk memastikan aturan tidak akan berlaku lagi.

Di jendela dengan sampel yang sedang berjalan, lanjutkan aplikasi atau tekan tombol yang sesuai untuk mengunduh file sampel dan konfirmasikan bahwa itu berasal dari penyimpanan utama sekali lagi. Anda kemudian dapat keluar dari sampel.

Langkah berikutnya

Di bagian kedua dari seri ini, Anda belajar tentang mensimulasikan suatu kegagalan untuk menguji penyimpanan geo-redundan yang dapat diakses baca.

Untuk mempelajari selengkapnya tentang cara kerja penyimpanan RA-GZRS, dan risiko terkaitnya, lihat Merancang aplikasi HA dengan RA-GZRS.