Lingkungan menyediakan konteks terisolasi atau "sandbox" untuk menjalankan proxy API. Dalam satu organisasi, Anda dapat membuat beberapa lingkungan.
Kode berikut menunjukkan contoh konfigurasi penggantian tempat beberapa lingkungan ditentukan.
namespace: my-namespace org: my-organization ... envs: - name: test serviceAccountPaths: synchronizer: "your_keypath/synchronizer-manager-service-account.json udca: "your_keypath/analytic-agent-service-account.json - name: prod serviceAccountPaths: synchronizer: "your_keypath/synchronizer-manager-service-account.json udca: "your_keypath/analytic-agent-service-account.json ...
Misalkan proxy dengan jalur dasar /foo1 di-deploy ke lingkungan
test. Anda dapat memanggil proxy seperti ini:
curl -k https://api.example.com/foo1
Saat panggilan ini mencapai ingress, ingress akan tahu cara mengirimkannya ke pemroses pesan
yang terkait dengan lingkungan test, yang menangani permintaan.
Demikian pula, jika foo1 juga di-deploy ke lingkungan prod,
Anda dapat membuat permintaan
proxy seperti ini, ke alias host apiprod.mydomain.net:
curl -k https://apiprod.example.com/foo1
Panggilan tersebut dirutekan oleh ingress ke MP yang terkait dengan host tersebut.
Antipola: Men-deploy semua proxy Anda ke satu lingkungan hybrid.
Praktik terbaik: Buat beberapa lingkungan dan deploy sejumlah kecil proxy ke setiap lingkungan.
Membatasi jumlah deployment proxy
Untuk hybrid, fakta bahwa banyak lingkungan dapat berbagi host virtual yang sama seperti yang ditentukan dalam grup lingkungan berarti Anda harus berpikir matang tentang cara mengelola deployment proxy ke lingkungan tertentu. Dalam hybrid, praktik terbaiknya adalah membuat beberapa lingkungan dan men-deploy sejumlah kecil proxy ke setiap lingkungan.
Berapa banyak proxy yang harus Anda deploy ke lingkungan? Tidak ada jawaban pasti untuk pertanyaan ini; namun, tabel berikut memberikan panduan umum tentang alasan sebaiknya membatasi jumlah proxy yang di-deploy ke setiap lingkungan dan hal yang perlu Anda pertimbangkan saat mengelola deployment proxy:
| Masalah yang perlu dipertimbangkan | Deskripsi |
|---|---|
| Waktu booting Message Processor | Ada korelasi langsung antara durasi waktu yang dibutuhkan prosesor pesan (MP) untuk melakukan booting dan jumlah proxy yang di-deploy ke MP tersebut. Di lingkungan Kubernetes dengan penskalaan otomatis, peningkatan waktu booting dapat menjadi masalah. Semakin banyak proxy yang di-deploy ke MP, semakin lama waktu yang dibutuhkan MP tersebut untuk aktif jika MP perlu diskalakan atau dibuat ulang. |
| Performa penskalaan | Jika Anda memiliki beberapa proxy yang di-deploy ke lingkungan, dan salah satu proxy mendapatkan banyak traffic sehingga sering melakukan penskalaan otomatis, semua proxy di lingkungan tersebut akan melakukan penskalaan bersamanya. Efek performa penskalaan beberapa proxy dengan satu proxy traffic tinggi mungkin menjadi masalah. |
| Tetangga yang berisik | Jika Anda memiliki beberapa proxy yang di-deploy ke lingkungan yang sama, dan satu proxy mengalami error, semua proxy di lingkungan tersebut akan dihentikan saat MP dimulai ulang. Dengan membatasi jumlah proxy yang di-deploy ke lingkungan, Anda meminimalkan dampak jika satu proxy mengalami error. |
Grup lingkungan dan virtualhost
Grup lingkungan memungkinkan Anda mengelompokkan lingkungan. Lingkungan dalam setiap grup berbagi nama host yang sama. Anda dapat mengelompokkan lingkungan menurut fungsi, menurut alamat nama host, menurut region jika Anda menerapkan penginstalan hibrida multi-region, atau menurut metrik lain yang Anda pilih.
Karena perutean dikelola oleh kombinasi nama host grup lingkungan, jalur dasar proxy API, dan lingkungan, setiap host virtual hanya perlu mencantumkan nama grup lingkungan dan sertifikat yang sesuai.
Kode berikut menunjukkan contoh konfigurasi penggantian tempat beberapa virtualhost ditentukan. Perhatikan bahwa nama virtualhost harus berupa nama grup lingkungan.
gcp: region: us-central1 projectID: hybrid-example k8sCluster: name: apigee-hybrid region: us-central1 org: hybrid-example instanceID: "my_hybrid_example" virtualhosts: - name: group-1 # the name of an environment group sslCertPath: ./certs/keystore.pem sslKeyPath: ./certs/keystore.key virtualhosts: - name: group-2 sslCertPath: ./certs/keystore.pem sslKeyPath: ./certs/keystore.key ...
Referensi lainnya
- Tentang lingkungan dan grup lingkungan
- Mengelola lingkungan
- Mengelola grup lingkungan
- Referensi properti konfigurasi
- Mengonfigurasi host virtual