Tentang lingkungan

Lingkungan menyediakan konteks atau "sandbox" terisolasi untuk menjalankan proxy API. Dalam satu organisasi, Anda dapat membuat beberapa lingkungan.

Kode berikut menunjukkan contoh konfigurasi penggantian dengan beberapa lingkungan yang 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 pengujian. Anda dapat memanggil proxy 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.

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

Selain itu, panggilan dirutekan oleh ingress ke MP yang terkait dengan host tersebut.

Antipola: Men-deploy semua proxy ke satu lingkungan campuran.

Praktik terbaik: Buat beberapa lingkungan dan deploy proxy dalam jumlah terbatas 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 memikirkan dengan cermat cara mengelola deployment proxy ke lingkungan tertentu. Dalam 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 yang ditetapkan untuk pertanyaan ini; namun, tabel berikut memberikan panduan umum tentang mengapa sebaiknya membatasi jumlah proxy yang di-deploy ke setiap lingkungan dan hal-hal yang perlu Anda pertimbangkan saat mengelola deployment proxy:

Masalah yang perlu dipertimbangkan Deskripsi
Waktu booting Message Processor Ada korelasi langsung antara jumlah waktu yang diperlukan pemroses 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. Makin banyak proxy yang di-deploy ke MP, makin lama waktu yang diperlukan MP tersebut untuk muncul jika perlu diskalakan atau dibuat ulang.
Melakukan penskalaan performa Jika Anda memiliki beberapa proxy yang di-deploy ke lingkungan, dan salah satu proxy mendapatkan banyak traffic sehingga sering diskalakan secara otomatis, semua proxy di lingkungan tersebut akan diskalakan bersama. Efek performa dari penskalaan beberapa proxy dengan satu proxy traffic tinggi mungkin menjadi masalah.
Tetangga berisik Jika Anda memiliki beberapa proxy yang di-deploy ke lingkungan yang sama, dan satu proxy mengalami error, semua proxy di lingkungan tersebut akan dinonaktifkan saat MP dimulai ulang. Dengan membatasi jumlah proxy yang di-deploy ke lingkungan, Anda akan meminimalkan dampak error satu proxy.

Grup lingkungan dan virtualhost

Grup lingkungan memungkinkan Anda mengelompokkan lingkungan. Lingkungan dalam setiap grup memiliki nama host yang sama. Anda dapat mengelompokkan lingkungan menurut fungsi, menurut alamat nama host, menurut region jika Anda menerapkan penginstalan campuran 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 dengan beberapa virtualhost yang 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