Mendesain untuk degradasi halus

Last reviewed 2024-12-30 UTC

Prinsip dalam pilar keandalan Google Cloud Framework yang Dirancang dengan Baik ini memberikan rekomendasi untuk membantu Anda mendesain Google Cloud workload agar gagal dengan baik.

Prinsip ini relevan dengan area fokus respons keandalan.

Ringkasan prinsip

Penurunan kualitas yang lancar adalah pendekatan desain di mana sistem yang mengalami beban tinggi terus berfungsi, meskipun dengan performa atau akurasi yang berkurang. Degradasi yang lancar memastikan ketersediaan sistem yang berkelanjutan dan mencegah kegagalan total, meskipun pekerjaan sistem tidak optimal. Saat beban kembali ke tingkat yang dapat dikelola, sistem akan melanjutkan fungsi penuh.

Misalnya, selama periode beban tinggi, Google Penelusuran memprioritaskan hasil dari halaman web yang berperingkat lebih tinggi, sehingga berpotensi mengorbankan akurasi. Saat beban menurun, Google Penelusuran menghitung ulang hasil penelusuran.

Rekomendasi

Untuk mendesain sistem agar menurun dengan baik, pertimbangkan rekomendasi di subbagian berikut.

Menerapkan throttling

Pastikan replika Anda dapat menangani kelebihan beban secara independen dan dapat membatasi permintaan masuk selama skenario traffic tinggi. Pendekatan ini membantu Anda mencegah kegagalan beruntun yang disebabkan oleh perubahan pada kelebihan traffic antar-zona.

Gunakan alat seperti Apigee untuk mengontrol jumlah permintaan API selama waktu dengan traffic tinggi. Anda dapat mengonfigurasi aturan kebijakan untuk mencerminkan cara Anda ingin mengurangi skala permintaan.

Menghapus permintaan berlebih lebih awal

Konfigurasi sistem Anda untuk membatalkan permintaan berlebih di lapisan frontend guna melindungi komponen backend. Menghilangkan beberapa permintaan mencegah kegagalan global dan memungkinkan sistem pulih dengan lebih baik.Dengan pendekatan ini, beberapa pengguna mungkin mengalami error. Namun, Anda dapat meminimalkan dampak gangguan, berbeda dengan pendekatan seperti pemutusan sirkuit, yang akan menghentikan semua traffic selama terjadi kelebihan beban.

Menangani error sebagian dan percobaan ulang

Bangun aplikasi Anda untuk menangani error sebagian dan percobaan ulang dengan lancar. Desain ini membantu memastikan bahwa sebanyak mungkin traffic ditayangkan selama skenario beban tinggi.

Skenario kelebihan beban pengujian

Untuk memvalidasi bahwa mekanisme pembatasan dan penurunan permintaan berfungsi secara efektif, simulasikan kondisi kelebihan beban secara rutin di sistem Anda. Pengujian membantu memastikan bahwa sistem Anda siap menghadapi lonjakan traffic di dunia nyata.

Memantau lonjakan traffic

Gunakan alat analisis dan pemantauan untuk memprediksi dan merespons lonjakan traffic sebelum meningkat menjadi kelebihan beban. Deteksi dan respons dini dapat membantu mempertahankan ketersediaan layanan selama periode permintaan tinggi.