Mengonfigurasi Batas Waktu Tunggu Target di Apigee Hybrid

Ringkasan

Mulai dari versi 1.14.2, Apigee Hybrid mendukung Batas Waktu Tunggu Target hingga 10 menit.

Apigee hybrid mendukung target io.timeout.millis hingga 55.000 milidetik sebagai default. Lihat Spesifikasi Transportasi Endpoint Target.

Untuk mengaktifkan lingkungan di penginstalan hybrid Anda guna meningkatkan batas waktu tunggu target untuk beberapa endpoint target yang lambat, lakukan perubahan berikut pada konfigurasi runtime Anda:

  • Konfigurasi virtualhosts[].requestTimeout antara Istio dan Message Processor(MP). Lihat virtualhosts
  • Mengonfigurasi conf_http_HTTPTransport.io.timeout.millis antara MP dan Target

Anda dapat mengonfigurasi setelan ini untuk setiap lingkungan atau untuk semua lingkungan dalam penginstalan Anda.

Mengonfigurasi virtualhost untuk mengubah batas waktu tunggu permintaan

requestTimeout adalah waktu maksimum (dalam detik) yang ditetapkan pada host virtual agar permintaan diproses oleh MP.

Untuk mengonfigurasi batas waktu tunggu permintaan, Anda dapat menggunakan properti virtualhosts[].requestTimeout. Buat perubahan berikut pada file overrides.yaml Anda:

  1. Tambahkan stanza berikut ke file overrides.yaml Anda:
    virtualhosts:
    - name: ENV_GROUP_NAME
      requestTimeout: 600   # Increase requestTimeout to 600 seconds
    
  2. Anda harus mengupgrade satu grup lingkungan (virtualhost) dalam satu waktu. Tentukan grup lingkungan dengan --set envgroup=ENV_GROUP_NAME. Ulangi perintah berikut untuk setiap grup lingkungan yang disebutkan dalam file overrides.yaml:

    Uji coba:

    helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --set envgroup=ENV_GROUP_NAME \
      -f OVERRIDES_FILE \
      --dry-run=server
    

    ENV_GROUP_RELEASE_NAME adalah nama yang Anda gunakan sebelumnya untuk menginstal diagram apigee-virtualhost. Biasanya ENV_GROUP_NAME.

    Mengupgrade diagram:

    helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --set envgroup=ENV_GROUP_NAME \
      -f OVERRIDES_FILE
    
  3. Periksa status ApigeeRoute (AR).

    Menginstal virtualhosts membuat ApigeeRouteConfig (ARC) yang secara internal membuat ApigeeRoute (AR) setelah watcher Apigee menarik detail terkait grup lingkungan dari bidang kontrol. Oleh karena itu, periksa apakah status AR yang sesuai sedang berjalan:

    kubectl -n APIGEE_NAMESPACE get arc
    
    NAME                                STATE   AGE
    apigee-org1-dev-egroup                       2d
    
    kubectl -n APIGEE_NAMESPACE get ar
    
    NAME                                        STATE     AGE
    apigee-org1-dev-egroup-cb9a8a              running   2d
    

Mengonfigurasi setiap lingkungan untuk mengubah batas waktu target

Jika proxy yang memiliki endpoint target lambat hanya ada di satu atau beberapa lingkungan dalam penginstalan Anda, Anda dapat mengonfigurasi setiap lingkungan untuk mengubah batas waktu target. Tindakan ini menghindari dampak pada lingkungan lain.

Untuk mengonfigurasi setiap lingkungan guna mengubah batas waktu tunggu target, Anda dapat menggunakan properti envs[].components.runtime. Buat perubahan berikut pada file overrides.yaml Anda:

  1. Tambahkan stanza berikut ke file overrides.yaml Anda:
    envs:
    - name: ENV_NAME
      components.
        runtime:
          cwcAppend:
            conf_http_HTTPTransport.io.timeout.millis: 600000   # Increase io.timeout.millis to 600000 milliseconds
    
  2. Anda harus mengupgrade satu lingkungan dalam satu waktu. Upgrade diagram apigee-env untuk setiap lingkungan yang Anda perbarui:

    Uji coba:

    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --set env=ENV_NAME \
      -f OVERRIDES_FILE \
      --dry-run=server
    
    • ENV_RELEASE_NAME adalah nama yang digunakan untuk melacak penginstalan dan upgrade diagram apigee-env. Nama ini harus unik dari nama rilis Helm lainnya di penginstalan Anda. Biasanya ini sama dengan ENV_NAME. Namun, jika lingkungan Anda memiliki nama yang sama dengan grup lingkungan, Anda harus menggunakan nama rilis yang berbeda untuk lingkungan dan grup lingkungan, misalnya dev-env-release dan dev-envgroup-release. Untuk mengetahui informasi selengkapnya tentang rilis di Helm, lihat Three big concepts class="external" dalam dokumentasi Helm.
    • ENV_NAME adalah nama lingkungan yang Anda upgrade.
    • OVERRIDES_FILE adalah file overrides.yaml yang telah Anda edit.
  3. Mengupgrade diagram:
    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --set env=ENV_NAME \
      -f OVERRIDES_FILE
    
  4. Verifikasi bahwa aplikasi sudah aktif dan berjalan dengan memeriksa status env masing-masing:

    kubectl -n APIGEE_NAMESPACE get apigeeenv
    
    NAME                          STATE       AGE   GATEWAYTYPE
    my-org-my-env-123abc            running     2d
    

Mengonfigurasi semua lingkungan untuk mengubah batas waktu tunggu target

Perubahan pada stanza runtime akan mengubah batas waktu target untuk semua lingkungan di penginstalan Anda. Anda dapat mengganti setelan ini untuk setiap lingkungan dengan properti runtime.

  1. Tambahkan stanza berikut ke file overrides.yaml Anda:
    runtime:
      cwcAppend:
        conf_http_HTTPTransport.io.timeout.millis: 600000   # Increase io.timeout.millis to 600000 milliseconds
    
  2. Upgrade diagram apigee-env untuk setiap lingkungan dalam penginstalan Anda:

    Uji coba:

    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --set env=ENV_NAME \
      -f OVERRIDES_FILE \
      --dry-run=server
    

    Mengupgrade diagram:

    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --set env=ENV_NAME \
      -f OVERRIDES_FILE