Praktik terbaik untuk menggunakan metrik Pub/Sub sebagai sinyal penskalaan

Jika Anda menggunakan metrik Pub/Sub sebagai sinyal untuk menskalakan otomatis pipeline, berikut beberapa rekomendasi.

Menggunakan lebih dari satu sinyal untuk menskalakan otomatis pipeline Anda

Jangan hanya menggunakan metrik Pub/Sub untuk menskalakan otomatis pipeline Anda. Hal ini mungkin menyebabkan skenario saat Anda memiliki satu titik kegagalan untuk keputusan penskalaan otomatis. Sebagai gantinya, gunakan kombinasi sinyal untuk memicu autoscaling. Contoh sinyal tambahan adalah tingkat penggunaan CPU klien. Sinyal ini dapat menunjukkan apakah tugas klien menangani pekerjaan dan apakah penskalaan dapat memungkinkan tugas klien menangani lebih banyak pekerjaan. Beberapa contoh sinyal dari produk Cloud lainnya yang dapat Anda gunakan untuk pipeline adalah sebagai berikut:

  • Compute Engine (GCE) mendukung penskalaan otomatis berdasarkan sinyal seperti penggunaan CPU dan metrik Monitoring. Compute Engine juga mendukung beberapa metrik dan beberapa sinyal untuk keandalan yang lebih baik.

    Untuk informasi selengkapnya tentang penskalaan dengan metrik Monitoring, lihat Menskalakan berdasarkan metrik Monitoring. Untuk mengetahui informasi selengkapnya tentang penskalaan dengan penggunaan CPU, lihat Menskalakan berdasarkan penggunaan CPU.

  • Penskalaan otomatis Pod Horizontal (HPA) Google Kubernetes Engine (GKE) mendukung penskalaan otomatis berdasarkan penggunaan resource seperti penggunaan CPU dan memori, metrik Kubernetes kustom, dan metrik eksternal seperti metrik Monitoring untuk Pub/Sub. Solusi ini juga mendukung beberapa sinyal.

    Untuk informasi selengkapnya, lihat Penskalaan otomatis Pod horizontal.

Cara menangani kesenjangan metrik saat terjadi

Jangan berasumsi bahwa tidak adanya metrik berarti tidak ada pesan yang akan diproses. Misalnya, jika sebagai respons terhadap metrik yang hilang, Anda menskalakan tugas pemrosesan menjadi nol, pesan yang sudah ada dalam backlog atau yang dipublikasikan selama waktu ini mungkin tidak digunakan. Hal ini meningkatkan latensi end-to-end. Untuk meminimalkan latensi, tetapkan jumlah tugas minimum lebih besar dari nol sehingga Anda selalu siap menangani pesan yang dipublikasikan, meskipun metrik Pub/Sub terbaru menunjukkan antrean kosong.

Autoscaler GCE dan HPA GKE dirancang untuk mempertahankan jumlah replika saat ini jika metrik tidak tersedia. Hal ini memberikan jaring pengaman jika tidak ada metrik yang tersedia.

Anda juga dapat menerapkan mekanisme kontrol alur Pub/Sub untuk membantu mencegah tugas menjadi kewalahan jika tidak sengaja didownscale karena metrik tidak ada.