Dasar-Dasar Runtime Configurator

Dokumen ini memberikan ringkasan tentang fitur Runtime Configurator dan menjelaskan konsep utama yang terkait dengan Runtime Configurator. Untuk mempelajari cara membuat resource RuntimeConfig, baca Membuat dan Menghapus Resource RuntimeConfig.

Apa yang dimaksud dengan Runtime Configurator?

Fitur Runtime Configurator memungkinkan Anda menentukan dan menyimpan data sebagai hierarki key-value pair di Google Cloud Platform. Anda dapat menggunakan pasangan nilai kunci ini sebagai cara untuk:

  • Mengonfigurasi layanan secara dinamis
  • Mengomunikasikan status layanan
  • Mengirim notifikasi perubahan pada data
  • Membagikan informasi di antara beberapa tingkat layanan

Misalnya, bayangkan skenario saat Anda memiliki cluster node yang menjalankan prosedur startup. Selama startup, Anda dapat mengonfigurasi node untuk melaporkan statusnya ke Runtime Configurator, lalu meminta aplikasi lain mengkueri Runtime Configurator dan menjalankan tugas tertentu berdasarkan status node.

Configurator Runtime juga menawarkan layanan Watcher dan layanan Waiter. Layanan Watcher memantau pasangan kunci tertentu dan ditampilkan saat nilai pasangan kunci berubah, sedangkan layanan Waiter menunggu kondisi akhir tertentu dan menampilkan respons setelah kondisi akhir tersebut terpenuhi.

Anda menggunakan Runtime Configurator melalui gcloud CLI, atau sebagai API mandiri.

Konsep

  • Resource konfigurasi

    Resource Config berisi daftar variabel hierarkis. Anda dapat membuat konfigurasi yang berbeda untuk tujuan yang berbeda. Misalnya, Anda dapat memisahkan konfigurasi berdasarkan lingkungan (prod, dev, test), berdasarkan tingkat aplikasi atau layanan yang berbeda (backend, frontend), atau berdasarkan entitas (satu konfigurasi per pengguna aplikasi Anda).

  • Variabel

    Variabel adalah key-value pair yang termasuk dalam resource RuntimeConfig. Kunci variabel memiliki format berikut:

    projects/[project_id]/configs/[CONFIG_ID]/variables/[VARIABLE_NAME]
    

    Anda dapat menetapkan, mendapatkan, dan memantau nilai variabel untuk menyampaikan informasi ke aplikasi, untuk menandakan status selesai, mengirim notifikasi perubahan data, dan lainnya. Variabel bersifat hierarkis, sehingga kunci variabel Anda dapat memiliki beberapa tingkat. Misalnya, contoh kunci variabel dapat berupa:

    webserver-1/users/name
    webserver-1/users/favorite_color
    
  • Pelihat

    Anda dapat menggunakan metode watch() untuk memantau variabel dan menampilkannya saat variabel berubah, waktu tunggu pengamat habis, atau pengamat dihapus. Gunakan fungsi watch() untuk mengonfigurasi aplikasi secara dinamis berdasarkan perubahan pada data Anda.

  • Pelayan

    Jika Anda membuat resource Waiter untuk memantau awalan jalur tertentu, Waiter akan ditampilkan setelah jumlah variabel dalam awalan mencapai jumlah tertentu. Hal ini disebut sebagai kondisi Kardinalitas.

    Misalnya, jika Anda menetapkan kondisi untuk jalur /foo dan jumlah jalur ditetapkan ke 2, penyiapan berikut akan memenuhi kondisi tersebut:

    • /foo/variable1 = "value1"
    • /foo/variable2 = "value2"
    • /bar/variable3 = "value3" # Not /foo path

    Penunggu memiliki kondisi kegagalan dan keberhasilan yang dapat Anda tetapkan.

    Setelah Anda membuat Waiter, layanan akan menampilkan objek operasi yang Anda polling untuk diselesaikan. Operasi selesai saat salah satu hal berikut terjadi:

    • Kondisi success terpenuhi.
    • Kondisi failure terpenuhi.
    • Waiter mencapai batas waktu waktu tunggu yang ditentukan dalam permintaan awal.

    Menggunakan waiter sangat ideal untuk skenario startup, saat Anda mungkin perlu menjeda deployment hingga sejumlah layanan tertentu berjalan.

Langkah selanjutnya