Lingkungan menyediakan konteks atau "sandbox" yang terisolasi 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 pengujian lingkungan. Anda dapat memanggil {i>proxy<i} seperti ini:
curl -k https://api.example.com/foo1
Saat panggilan ini mencapai ingress, ingress akan tahu untuk mengirimkannya ke pemroses pesan yang terkait dengan lingkungan test
, yang menangani permintaan tersebut.
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
Dan panggilan dialihkan oleh masuknya ke MP yang terkait dengan {i>host<i} tersebut.
Antipola: Deploy semua proxy Anda ke satu lingkungan hybrid.
Praktik terbaik: Buat beberapa lingkungan dan deploy proxy dalam jumlah terbatas ke setiap lingkungan.
Membatasi jumlah deployment proxy
Untuk hybrid, karena banyaknya lingkungan dapat berbagi host virtual yang sama seperti yang ditetapkan dalam grup lingkungan, berarti Anda harus memikirkan dengan cermat cara mengelola deployment proxy ke lingkungan tertentu. Dalam sistem hybrid, praktik terbaiknya adalah membuat beberapa lingkungan dan men-deploy proxy dalam jumlah terbatas 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 pikirkan ketika mengelola deployment proxy:
Masalah yang perlu dipertimbangkan | Deskripsi |
---|---|
Waktu booting pemroses pesan | Ada korelasi langsung antara jumlah waktu yang diperlukan prosesor pesan (MP) untuk melakukan booting dan jumlah proxy yang di-deploy ke MP tersebut. Dalam lingkungan Kubernetes penskalaan otomatis, peningkatan waktu booting mungkin menjadi masalah. Semakin banyak proxy yang di-deploy ke MP, semakin lama waktu yang diperlukan untuk memunculkan MP jika perlu diskalakan atau dibuat ulang. |
Menskalakan performa | Jika Anda memiliki beberapa proxy yang di-deploy ke suatu lingkungan, dan salah satu proxy mendapatkan banyak traffic sehingga sering kali melakukan penskalaan otomatis, semua proxy di lingkungan tersebut akan menskalakannya. Efek performa dari penskalaan beberapa proxy dengan satu proxy dengan traffic tinggi mungkin akan 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 dihapus saat Anggota Parlemen dimulai ulang. Dengan membatasi jumlah proxy yang di-deploy ke suatu lingkungan, Anda meminimalkan dampak error pada satu proxy. |
Grup lingkungan dan host virtual
Dengan Environment groups, Anda dapat mengelompokkan lingkungan bersama-sama. Lingkungan dalam setiap grup memiliki nama host yang sama. Anda dapat mengelompokkan lingkungan menurut fungsi, alamat nama host, dan region jika mengimplementasikan penginstalan hybrid multi-region, atau menurut metrik lain yang Anda pilih.
Karena pemilihan rute 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 contractProvider: https://us-apigee.googleapis.com # if using data residency 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