- Serve traffic from multiple regions | Cloud Run Documentation | Google Cloud
- You can return faster responses to your users around the world by deploying services in multiple regions and routing your users to the nearest region. Deploying across multiple regions delivers low latency and higher availability in case of regional outages.
GCP baru-baru ini meluncurkan fitur yang memungkinkan Cloud Run digunakan di beberapa wilayah (multi-region) hanya dengan sekali eksekusi.
Untuk meringkas layanan multi-region, misalnya, kita memiliki wilayah Seoul - London - Las Vegas.
Sebelumnya, kita perlu menggunakan skrip untuk menyebarkan ke beberapa wilayah secara individual. Fitur baru ini memungkinkan penyebaran ke beberapa wilayah hanya dengan satu skrip.
Sebenarnya, sebelum peluncurannya, saya sangat menantikan fitur ini setelah membaca dokumentasinya, tetapi sedikit kecewa.
Penyebaran menggunakan skrip sebenarnya sudah bisa dilakukan untuk beberapa wilayah sekaligus, satu per satu, tetapi karena berjalan secara paralel, waktu penyebarannya tidak jauh berbeda, jadi saya tidak terlalu berharap pada bagian ini. Namun, karena ini menyebarkan semuanya sekaligus, kita tidak dapat mengubah variabel lingkungan untuk setiap wilayah.
Oleh karena itu, saya sering menggunakan fitur yang memungkinkan setiap Cloud Run terhubung ke DB atau GCS yang berbeda berdasarkan wilayahnya, tetapi fitur ini menimbulkan masalah.
Masalah kedua adalah, ketika melakukan penyebaran berulang, terkadang kita ingin menghapus versi sebelumnya, tetapi ini tidak dapat dikendalikan secara individual. Versi lama menjadi read-only dan tidak dapat dihapus secara individual.
Ada beberapa kekurangan, tetapi kelebihannya adalah… kita dapat "menggabungkan" beberapa Cloud Run menjadi satu.
Dalam layanan kami, kami banyak menggunakan Cloud Run dan banyak wilayah, sehingga saat ini sekitar 50, dan akan meningkat menjadi 100 setelah pekerjaan yang sedang kami kerjakan selesai. Dengan menggunakan layanan multi-region, ini dapat dikurangi menjadi 10 hingga 20. (Ini hanya menyembunyikannya).
Berikut skripnya:
Setelah menjalankan skrip di atas, penyebaran akan seperti ini.
Cloud Run
Cloud Run dengan nama yang sama akan disebar di setiap wilayah, dan folder(?) dengan nama yang sama akan dibuat di tingkat tertinggi.
Tampilan yang telah digabungkan seperti ini.
Cloud Run - Layar terlipat
Sebenarnya, ini tidak terlalu membantu jika jumlahnya sedikit, tetapi jika kita asumsikan ini disebar ke 40 wilayah, ini akan sangat membantu. (Meskipun tidak sebanyak itu…)
Ditandai sebagai hanya baca.
Sebagian besar fungsi ditandai sebagai read-only ketika kita mencoba untuk memodifikasinya. Dokumentasi menyebutkan bahwa fitur ini disediakan, tetapi tampaknya belum berfungsi dengan benar, mungkin karena masalah API.
Dokumentasi terkait ada di sini.
Dokumentasi gcloud ada di sini. Saat ini hanya mendukung versi alpha/beta, dan tidak mendukung versi resmi. Selain itu, opsi --regions yang ada di dokumentasi di atas tidak ada di dokumentasi ini. (Semoga segera diperbarui?)
Yang saya inginkan sebenarnya sederhana, yaitu menyediakan PORT sebagai nilai default dalam variabel lingkungan, seperti yang sudah ada sekarang. Saya tahu bahwa berbagai informasi disediakan melalui server metadata, tetapi itu merepotkan karena harus diambil langsung dengan Fetch. (Selain itu, itu juga menggunakan sumber daya…)
Karena ini masih dalam versi pratinjau, semoga akan semakin baik. (Mungkin terlalu cepat untuk mengeluh begitu diluncurkan…)
Komentar0