Prinsip ini dalam pilar keandalan Google Cloud Framework Arsitektur memberikan rekomendasi untuk membantu Anda mendesain workload Google Cloud agar gagal dengan baik.
Prinsip ini relevan dengan area fokus respons keandalan.
Ringkasan prinsip
Degradasi halus adalah pendekatan desain saat sistem yang mengalami beban tinggi terus berfungsi, mungkin dengan performa atau akurasi yang berkurang. Degradasi halus 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 memiliki peringkat lebih tinggi, yang berpotensi mengorbankan beberapa akurasi. Saat beban menurun, Google Penelusuran akan menghitung ulang hasil penelusuran.
Rekomendasi
Untuk mendesain sistem Anda agar mengalami degradasi yang halus, 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 pergeseran traffic berlebih di antara zona.
Gunakan alat seperti Apigee untuk mengontrol kecepatan permintaan API selama waktu dengan traffic tinggi. Anda dapat mengonfigurasi aturan kebijakan untuk mencerminkan cara Anda ingin menskalakan kembali permintaan.
Menghapus permintaan berlebih lebih awal
Konfigurasikan sistem Anda untuk menghapus permintaan berlebih di lapisan frontend guna melindungi komponen backend. Menghapus beberapa permintaan akan mencegah kegagalan global dan memungkinkan sistem pulih dengan lebih baik.Dengan pendekatan ini, beberapa pengguna mungkin mengalami error. Namun, Anda dapat meminimalkan dampak pemadaman, berbeda dengan pendekatan seperti pemutusan sirkuit, yang semua traffic-nya terputus selama overload.
Menangani error sebagian dan percobaan ulang
Build aplikasi Anda untuk menangani error sebagian dan percobaan ulang dengan lancar. Desain ini membantu memastikan bahwa sebanyak mungkin traffic ditayangkan selama skenario beban tinggi.
Menguji skenario kelebihan beban
Untuk memvalidasi bahwa mekanisme throttle dan drop permintaan berfungsi secara efektif, simulasikan kondisi overload 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 overload. Deteksi dan respons awal dapat membantu mempertahankan ketersediaan layanan selama periode permintaan tinggi.