Penskalaan otomatis instance container

Dalam penayangan Knative, setiap revisi secara otomatis diskalakan ke jumlah instance container yang diperlukan untuk menangani semua permintaan masuk. Jika revisi tidak menerima traffic apa pun, secara default dan diskalakan ke instance container nol. Namun, jika diinginkan, Anda dapat ubah default ini untuk menentukan instance agar tetap tidak ada aktivitas atau "warm" menggunakan setelan instance minimum.

Jumlah instance yang dijadwalkan dipengaruhi oleh:

Dalam beberapa kasus, Anda mungkin ingin membatasi jumlah total instance container yang dapat dimulai, untuk alasan pengendalian biaya, atau untuk kompatibilitas yang lebih baik dengan resource lain yang digunakan oleh layanan Anda. Misalnya, penayangan Knative Anda layanan dapat berinteraksi dengan {i>database<i} yang hanya bisa menangani sejumlah koneksi terbuka serentak.

Tentang instance container maksimum

Anda dapat menggunakan setelan instance container maksimum untuk membatasi jumlah total yang dapat dimulai secara paralel, seperti yang didokumentasikan dalam Menetapkan jumlah maksimum instance container.

Melampaui jumlah instance maksimum

Dalam keadaan normal, revisi Anda akan diskalakan dengan membuat instance baru untuk menangani beban traffic masuk. Namun, ketika Anda mengatur batas jumlah instance maksimum pada beberapa skenario instance tidak akan cukup untuk memenuhi beban traffic tersebut. Di beberapa dalam hal ini, antrian permintaan masuk hingga 60 detik. Selama 60 detik ini, jendela baru, jika sebuah instance selesai memproses permintaan, permintaan itu akan tersedia untuk memproses permintaan dalam antrean. Jika tidak ada instance yang tersedia selama 60 detik permintaan gagal dengan kode error 429 di Cloud Run.

Jaminan penskalaan

Batas instance maksimum adalah batas atas. Menetapkan batas yang tinggi tidak berarti bahwa revisi Anda akan diskalakan ke jumlah instance kontainer yang ditentukan. Artinya, jumlah instance kontainer pada suatu saat tertentu harus tidak melebihi batas.

Lonjakan traffic

Dalam beberapa kasus, seperti lonjakan lalu lintas yang cepat, layanan Knative mungkin, untuk jangka waktu tertentu, membuat instance container yang sedikit lebih banyak daripada instance yang ditentukan untuk nilai instance maksimum. Jika layanan Anda tidak dapat menoleransi perilaku sementara ini, sebaiknya pertimbangkan margin keamanan dan tetapkan nilai instance maksimal yang lebih rendah.

Deployment

Saat Anda men-deploy revisi baru, layanan Knative secara bertahap memigrasikan traffic dari revisi lama ke revisi yang baru. Karena batas instance maksimum ditetapkan untuk setiap revisi, Anda dapat melampaui batas yang ditentukan untuk sementara selama periode tersebut setelah deployment.

Instance nonaktif dan meminimalkan cold start

Resource Kubernetes hanya dipakai saat instance menangani permintaan, tetapi ini tidak berarti bahwa penyaluran Knative segera mematikan setelah mereka menangani semua permintaan. Untuk meminimalkan dampak dingin dimulai, penyaluran Knative mungkin membuat beberapa instance tidak ada aktivitas. Ini instance siap menangani permintaan ketika terjadi lonjakan traffic tiba-tiba.

Misalnya, ketika instance container telah selesai menangani permintaan, instance tersebut mungkin tetap tidak ada aktivitas selama jangka waktu tertentu jika permintaan lain perlu ditangani. Instance container tidak ada aktivitas dapat mempertahankan resource, seperti resource koneksi database. Namun, untuk Cloud Run, CPU tidak akan tersedia

Untuk menyimpan instance nonaktif agar tersedia secarapermanen, gunakan min-instance setelan.

Langkah selanjutnya