Bagikan melalui


Menerapkan kebijakan coba lagi dengan Java

Aplikasi apa pun yang berjalan di cloud atau berkomunikasi dengan layanan dan sumber daya jarak jauh harus dapat menangani kesalahan sementara. Umum bagi aplikasi ini untuk mengalami kesalahan karena hilangnya konektivitas jaringan sesaat, batas waktu permintaan saat layanan atau sumber daya sibuk, atau faktor lainnya. Pengembang harus membangun aplikasi untuk menangani kesalahan sementara secara transparan untuk meningkatkan stabilitas dan ketahanan.

Dalam artikel ini, Anda mempelajari cara menggunakan pustaka klien Azure Storage untuk Java guna mengonfigurasi kebijakan coba lagi untuk aplikasi yang tersambung ke Azure Blob Storage. Kebijakan coba lagi menentukan bagaimana aplikasi menangani permintaan yang gagal, dan harus selalu disetel agar sesuai dengan persyaratan bisnis aplikasi dan sifat kegagalan.

Mengonfigurasi opsi coba lagi

Kebijakan percobaan kembali untuk Blob Storage dikonfigurasi secara terprogram, menawarkan kontrol atas bagaimana opsi coba lagi diterapkan ke berbagai permintaan dan skenario layanan. Misalnya, aplikasi web yang mengeluarkan permintaan berdasarkan interaksi pengguna mungkin menerapkan kebijakan dengan lebih sedikit percobaan ulang dan penundaan yang lebih singkat untuk meningkatkan responsivitas dan memberi tahu pengguna ketika kesalahan terjadi. Atau, aplikasi atau komponen yang menjalankan permintaan batch di latar belakang dapat meningkatkan jumlah percobaan ulang dan menggunakan strategi backoff eksponensial untuk memungkinkan waktu permintaan berhasil diselesaikan.

Tabel berikut mencantumkan parameter yang tersedia saat membuat instans RequestRetryOptions , bersama dengan jenis, deskripsi singkat, dan nilai default jika Anda tidak membuat perubahan. Anda harus proaktif dalam menyetel nilai properti ini untuk memenuhi kebutuhan aplikasi Anda.

Properti Tipe Deskripsi Nilai default
retryPolicyType RetryPolicyType Opsional. Pendekatan yang digunakan untuk menghitung penundaan coba ulang. EKSPONENSIAL
maxTries Bilangan bulat Opsional. Jumlah maksimum upaya coba lagi sebelum menyerah. 4
tryTimeoutInSeconds Bilangan bulat Opsional. Waktu maksimum yang diizinkan sebelum permintaan dibatalkan dan diasumsikan gagal. Perhatikan bahwa batas waktu berlaku untuk permintaan operasi, bukan operasi keseluruhan dari ujung ke ujung. Nilai ini harus didasarkan pada bandwidth yang tersedia untuk komputer host dan kedekatan dengan layanan Storage. Titik awal yang baik mungkin 60 detik per MB ukuran payload yang diantisipasi. Integer.MAX_VALUE (detik)
retryDelayInMs Panjang Opsional. Menentukan jumlah penundaan yang akan digunakan sebelum mencoba kembali operasi. 4ms untuk EXPONENTIAL, 30ms untuk DIPERBAIKI
maxRetryDelayInMs Panjang Opsional. Menentukan penundaan maksimum yang diizinkan sebelum mencoba kembali operasi. 120ms
secondaryHost String Opsional. Titik akhir akun penyimpanan sekunder untuk mencoba kembali permintaan. Sebelum mengatur nilai ini, Anda harus memahami masalah sekeliling membaca data yang basi dan berpotensi tidak konsisten. Untuk mempelajari lebih lanjut, lihat Menggunakan geo-redundansi untuk merancang aplikasi yang sangat tersedia. Tidak

Dalam contoh kode berikut, kami mengonfigurasi opsi coba lagi dalam instans RequestRetryOptions dan meneruskannya ke BlobServiceClientBuilder untuk membuat objek klien:

RequestRetryOptions retryOptions = new RequestRetryOptions(RetryPolicyType.FIXED, 2, 3, 1000L, 1500L, null);
BlobServiceClient client = new BlobServiceClientBuilder()
        .endpoint("https://<storage-account-name>.blob.core.windows.net/")
        .credential(credential)
        .retryOptions(retryOptions)
        .buildClient();

Dalam contoh ini, setiap permintaan layanan yang BlobServiceClient dikeluarkan dari objek menggunakan opsi coba lagi seperti yang RequestRetryOptions didefinisikan dalam instans. Kebijakan ini berlaku untuk permintaan klien. Anda dapat mengonfigurasi berbagai strategi coba lagi untuk klien layanan berdasarkan kebutuhan aplikasi Anda.

Langkah berikutnya

  • Artikel ini adalah bagian dari panduan pengembang Blob Storage untuk Java. Lihat daftar lengkap artikel panduan pengembang di Membangun aplikasi Anda.
  • Untuk panduan arsitektur dan praktik terbaik umum untuk kebijakan coba lagi, lihat Penanganan kesalahan sementara.
  • Untuk panduan tentang menerapkan pola coba lagi untuk kegagalan sementara, lihat Pola coba lagi.