Dasar-Dasar Runtime Configurator

Dokumen ini memberikan ringkasan fitur Runtime Configurator dan menjelaskan konsep utama terkait 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 pasangan nilai kunci 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 proses startup, Anda dapat mengonfigurasi node untuk melaporkan statusnya ke Runtime Configurator, lalu membuat aplikasi lain mengirimkan kueri ke 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, sementara 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 Konfigurasi 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 tingkatan 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 menyetel, mendapatkan, dan memantau nilai variabel untuk menyampaikan informasi ke aplikasi Anda, untuk menandakan status selesai, untuk 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
    
  • Pengamat

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

  • Pelayan

    Jika Anda membuat resource Waiter untuk memantau awalan jalur tertentu, waiter akan ditampilkan setelah jumlah variabel di bawah 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:

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

    Waiter memiliki kondisi kegagalan dan keberhasilan yang dapat Anda tetapkan.

    Setelah Anda membuat Waiter, layanan akan menampilkan objek operasi yang Anda polling untuk penyelesaian. Operasi selesai jika salah satu dari berikut terjadi:

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

    Penggunaan waiter sangat ideal untuk skenario startup, di mana Anda mungkin perlu menjeda deployment hingga sejumlah layanan tertentu berjalan.

Langkah berikutnya