Mengonfigurasi Batas Waktu Tunggu Target di Apigee Hybrid

Ringkasan

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

Untuk meningkatkan batas waktu tunggu target untuk endpoint target yang lambat, lakukan perubahan berikut pada konfigurasi runtime Anda:

  • Konfigurasikan 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 untuk permintaan yang akan 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 grup lingkungan (virtualhost) satu per satu. 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 chart apigee-virtualhost. Biasanya, nilainya adalah ENV_GROUP_NAME.

    Upgrade 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 akan membuat ApigeeRouteConfig (ARC) yang secara internal membuat ApigeeRoute (AR) setelah watcher Apigee mengambil detail terkait grup lingkungan dari bidang kontrol. Oleh karena itu, pastikan 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 tunggu target

Jika proxy yang memiliki endpoint target lambat hanya berada di satu atau beberapa lingkungan dalam penginstalan, Anda dapat mengonfigurasi lingkungan satu per satu untuk mengubah batas waktu tunggu target. Hal ini menghindari penambahan dampak ke 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 lingkungan satu per satu. Upgrade diagram apigee-env untuk setiap lingkungan yang Anda update:

    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 dalam 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 Tiga konsep besar class="external" dalam dokumentasi Helm.
    • ENV_NAME adalah nama lingkungan yang Anda upgrade.
    • OVERRIDES_FILE adalah file overrides.yaml yang telah Anda edit.
  3. Upgrade diagram:
    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --set env=ENV_NAME \
      -f OVERRIDES_FILE
    
  4. Pastikan lingkungan tersebut aktif dan berjalan dengan memeriksa status lingkungan yang bersangkutan:

    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 tunggu target untuk semua lingkungan dalam 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
    

    Upgrade diagram:

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