Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
SUS02-BP06 Menerapkan buffering atau throttling untuk meratakan kurva permintaan
Buffering dan throttling meratakan kurva permintaan dan mengurangi kapasitas tersedia yang diperlukan untuk beban kerja Anda.
Anti-pola umum:
-
Anda memproses permintaan klien dengan segera walaupun tidak diperlukan.
-
Anda tidak menganalisis persyaratan-persyaratan untuk permintaan klien.
Manfaat menerapkan praktik terbaik ini: Dengan meratakan kurva permintaan Anda akan mengurangi kapasitas yang disediakan untuk beban kerja. Mengurangi kapasitas tersedia artinya konsumsi energi berkurang dan dampak pada lingkungan juga akan berkurang.
Tingkat risiko yang terjadi jika praktik terbaik ini tidak diterapkan: Rendah
Panduan implementasi
Meratakan kurva permintaan beban kerja dapat membantu Anda mengurangi kapasitas tersedia untuk beban kerja dan mengurangi dampaknya terhadap lingkungan. Asumsikan sebuah beban kerja dengan kurva permintaan seperti yang ditunjukkan pada gambar di bawah ini. Beban kerja ini memiliki dua puncak, dan untuk menangani puncak-puncak ini, disediakan kapasitas sumber daya sebagaimana yang ditunjukkan oleh garis berwarna oranye. Sumber daya dan energi yang digunakan untuk beban kerja ini tidak diindikasikan oleh area di bawah kurva permintaan, tetapi ditunjukkan oleh area di bawah garis kapasitas tersedia, karena kapasitas tersedia diperlukan untuk menangani kedua puncak ini.
Anda dapat menggunakan buffering atau throttling untuk melakukan modifikasi terhadap kurva permintaan dan meratakan puncak, yang artinya konsumsi energi menjadi lebih sedikit energi dan penyediaan kapasitas menjadi lebih rendah. Implementasikan throttling ketika klien Anda dapat mencoba ulang. Implementasikan buffering untuk menyimpan permintaan dan menunda pemrosesan ke lain waktu.
Langkah-langkah implementasi
-
Analisis permintaan klien untuk menentukan cara merespons permintaan. Pertanyaan yang harus dipertimbangkan antara lain:
-
Dapatkah permintaan ini diproses secara tak selaras?
-
Apakah klien memiliki kemampuan untuk melakukan percobaan ulang?
-
-
Jika klien memiliki kemampuan untuk melakukan percobaan ulang, maka Anda dapat mengimplementasikan throttling, yang memberi tahu sumber bahwa jika sumber tidak dapat melayani permintaan pada saat ini maka sumber harus mencoba lagi nanti.
-
Anda dapat menggunakan Amazon API Gateway
untuk menerapkan throttling.
-
-
Untuk klien yang tidak dapat melakukan percobaan ulang, buffering harus diimplementasikan untuk meratakan kurva permintaan. Buffering akan menunda pemrosesan permintaan, sehingga aplikasi yang dijalankan pada tingkat yang berlainan dapat berkomunikasi secara efektif. Pendekatan berbasis buffering menggunakan antrean atau aliran untuk menerima pesan dari penghasil pesan. Pesan dibaca oleh konsumen dan diproses, sehingga pesan dapat dijalankan dengan tingkat yang memenuhi persyaratan-persyaratan bisnis konsumen.
-
Amazon Simple Queue Service (AmazonSQS)
adalah layanan terkelola yang menyediakan antrian yang memungkinkan satu konsumen membaca pesan individual. -
Amazon Kinesis
memberikan aliran yang memungkinkan banyak konsumen untuk membaca pesan yang sama.
-
-
Lakukan analisis terhadap permintaan secara keseluruhan, tingkat perubahan, dan waktu respons yang diperlukan untuk ukuran throttling atau buffering yang tepat.
Sumber daya
Dokumen terkait:
Video terkait: