Ada opsi Squid bernama retry_on_error, tetapi namanya lebih luas daripada tafsiran yang berguna. Itu tidak berarti setiap permintaan yang gagal akan diulang tanpa batas sampai halaman berfungsi.

Pada rilis yang mendukung direktif ini, opsi ini mati secara default. Daftar pengulangan yang terdokumentasi adalah 403, 500, 501, 502, 503, dan 504, dan permintaan dicoba melalui tujuan lain yang berfungsi. Ini sangat relevan dalam hierarki dengan jalur penerusan alternatif. Ini bukan sekadar upaya ulang terjadwal dari soket yang sama ke server yang sama.

Beri nama kegagalannya lebih dulu

Penolakan saat terhubung ke proxy, kegagalan autentikasi proxy, kesalahan HTTP dari asal, dan respons yang terputus setelah pengiriman dimulai tidak menawarkan peluang pengulangan yang sama. Jangan berharap satu pengaturan memperlakukan keempatnya sama.

Untuk keluar pribadi, putuskan juga apakah jalur alternatif dapat diterima. Induk lain dapat memiliki alamat sumber publik, kebijakan autentikasi, atau lokasi jaringan yang berbeda. Keberhasilan melalui alternatif itu dapat melanggar alasan induk pertama dipilih.

Operasi aplikasi membawa kekhawatiran lain: mengulang permintaan dapat mengulangi efeknya. Klien dan server memerlukan semantik pengulangan yang tepat, terutama untuk operasi yang membuat atau mengubah data. Pengaturan proxy bukan pengganti penanganan hasil yang tidak pasti di tingkat aplikasi.

Baca direktif untuk rilis persis Anda; referensi mencantumkan ketersediaan dan perilaku default. Perhatikan juga tenggat permintaan dan total waktu tunggu yang terlihat pengguna. Upaya penerusan tambahan dapat menghabiskan sisa waktu tanpa menghasilkan hasil yang lebih baik.

Saat menyelidiki kegagalan intermiten, catat status, induk atau tujuan yang dipilih, dan urutan percobaan. Jika tidak, pengulangan dapat membuat masalah perutean berulang tampak seperti situs web yang umumnya lambat sambil menyembunyikan jalur yang sebenarnya gagal.

Artikel terkait