Mengonfigurasi waktu tunggu I/O di Prosesor Pesan

Anda sedang melihat dokumentasi Apigee Edge.
Buka Dokumentasi Apigee X.
info

Dokumen ini menjelaskan cara mengonfigurasi waktu tunggu I/O untuk Pemroses Pesan Edge Apigee.

Waktu tunggu I/O pada Pemroses Pesan menunjukkan waktu saat Pemroses Pesan menunggu untuk menerima respons dari server backend atau agar soket siap menulis permintaan ke server backend, sebelum waktunya habis.

Nilai default waktu tunggu I/O Pemroses Pesan adalah 55 seconds. Waktu tunggu ini periode berlaku ke server backend yang dikonfigurasi di konfigurasi endpoint target dan di ServiceInfo kebijakan proxy API Anda.

Waktu tunggu I/O untuk Pemroses Pesan dapat dinaikkan atau diturunkan dari nilai default 55 seconds berdasarkan kebutuhan Anda. Ini dapat dikonfigurasi di tempat berikut:

  • Di proxy API
    • Endpoint target
    • Kebijakan ServiceInfo
  • Di Pemroses Pesan

Properti berikut mengontrol waktu tunggu I/O pada Pemroses Pesan:

Nama Properti Lokasi Deskripsi
io.timeout.millis

Proxy API:

  • Endpoint target
  • Kebijakan Info Layanan

Ini adalah waktu maksimum saat Pemroses Pesan melakukan hal berikut:

  • Menunggu untuk menerima respons dari server backend, setelah membuat koneksi dan mengirim permintaan ke server backend ATAU
  • Menunggu soket siap bagi Pemroses Pesan untuk mengirim permintaan ke server backend.

Jika tidak ada respons dari server backend dalam periode waktu tunggu ini, maka Waktu Pemroses Pesan habis.

Secara default, properti ini menggunakan nilai yang ditetapkan untuk Properti HTTPTransport.io.timeout.millis pada Pemroses Pesan. Nilai defaultnya adalah 55 seconds.

Jika properti ini diubah dengan nilai waktu tunggu baru untuk proxy API tertentu, maka hanya proxy API yang terpengaruh.

HTTPTransport.io.timeout.millis Message Processor

Ini adalah waktu maksimum saat Pemroses Pesan melakukan hal berikut:

  • Menunggu untuk menerima respons dari server backend, setelah membuat koneksi dan mengirim permintaan ke server backend ATAU
  • Menunggu soket siap bagi Pemroses Pesan untuk mengirim permintaan ke server backend.

Jika tidak ada respons dari server backend dalam periode waktu tunggu ini, maka Waktu Pemroses Pesan habis.

Properti ini digunakan untuk semua Proxy API yang berjalan pada Pemroses Pesan ini.

Nilai default properti ini adalah 55 seconds.

Anda dapat mengubah properti ini seperti yang dijelaskan dalam Mengonfigurasi waktu tunggu I/O di Pemroses Pesan, atau Anda dapat melakukannya menimpa nilai ini dengan menyetel properti io.timeout.millis di API di tingkat proxy.

Sebelum memulai

Sebelum menggunakan langkah-langkah dalam dokumen ini, pastikan Anda memahami topik berikut:

Mengonfigurasi waktu tunggu I/O di proxy API

Waktu tunggu I/O dapat dikonfigurasi di tempat proxy API berikut:

  • Endpoint target
  • Kebijakan ServiceInfo

Mengonfigurasi waktu tunggu I/O di endpoint target proxy API

Bagian ini menjelaskan cara mengonfigurasi waktu tunggu I/O di endpoint target proxy API Anda. Waktu tunggu I/O dapat dikonfigurasi melalui properti io.timeout.millis, yang menunjukkan nilai waktu tunggu I/O dalam milidetik.

  1. Pada UI Edge, pilih proxy API tertentu tempat Anda ingin mengonfigurasi Nilai waktu tunggu I/O.
  2. Pilih endpoint target tertentu yang ingin Anda ubah.
  3. Tambahkan properti io.timeout.millis dengan nilai yang sesuai di bagian <HTTPTargetConnection> dalam konfigurasi TargetEndpoint.
  4. Misalnya, untuk mengubah Waktu Tunggu I/O menjadi 120 detik, tambahkan blok kode berikut:

        <Properties>
          <Property name="io.timeout.millis">120000</Property>
        </Properties>
    

    Karena properti io.timeout.millis dalam milidetik, nilai untuk 120 detik adalah 120000.

    Contoh berikut menunjukkan cara mengonfigurasi waktu tunggu I/O di endpoint target untuk konfigurasi proxy API Anda:

    Contoh konfigurasi endpoint target menggunakan URL untuk server backend

    <TargetEndpoint name="default">
      <HTTPTargetConnection>
        <URL>https://mocktarget.apigee.net/json</URL>
        <Properties>
          <Property name="io.timeout.millis">120000</Property>
        </Properties>
      </HTTPTargetConnection>
    </TargetEndpoint>
    

    Contoh konfigurasi endpoint target menggunakan server target

    <TargetEndpoint name="default">
      <HTTPTargetConnection>
        <LoadBalancer>
          <Server name="target1" />
          <Server name="target2" />
        </LoadBalancer>
        <Properties>
          <Property name="io.timeout.millis">120000</Property>
        </Properties>
        <Path>/test</Path>
      </HTTPTargetConnection>
    </TargetEndpoint>
    
  5. Simpan perubahan yang dibuat pada proxy API Anda.

Mengonfigurasi waktu tunggu I/O dalam kebijakan ServiceInfo proxy API

Bagian ini menjelaskan cara mengonfigurasi waktu tunggu I/O dalam kebijakan ServiceInfo Proxy API. Waktu tunggu I/O dapat dikonfigurasi melalui elemen <Timeout> atau properti io.timeout.millis. Baik elemen <Timeout> maupun elemen Properti io.timeout.millis mewakili nilai waktu tunggu I/O dalam milidetik.

Anda dapat mengonfigurasi waktu tunggu I/O dalam kebijakan Servicecallout menggunakan salah satu metode berikut:

  • Elemen <Timeout>.
  • io.timeout.millis.

Elemen waktu tunggu

Untuk mengonfigurasi waktu tunggu I/O di kebijakan Servicecallout menggunakan <Timeout> , lakukan hal berikut:

  1. Pada UI Edge, pilih proxy API tertentu tempat Anda ingin mengonfigurasi nilai waktu tunggu I/O baru untuk kebijakan Service callout.
  2. Pilih kebijakan ServiceInfo tertentu yang ingin Anda ubah.
  3. Tambahkan elemen <Timeout> dengan nilai yang sesuai di bawah Konfigurasi <ServiceCallout>.

    Misalnya, untuk mengubah waktu tunggu I/O menjadi 120 detik, tambahkan baris kode berikut:

        <Timeout>120000</Timeout>
    

    Karena elemen <Timeout> dalam milidetik, nilai untuk 120 detik adalah 120000.

    Contoh berikut menunjukkan cara mengonfigurasi waktu tunggu I/O di Servicecallout kebijakan menggunakan elemen <Timeout>:

    Contoh konfigurasi kebijakan ServiceKeterangan menggunakan URL untuk server backend

    <ServiceCallout name="Service-Callout-1">
        <DisplayName>ServiceCallout-1</DisplayName>
        <Timeout>120000</Timeout>
        <HTTPTargetConnection>
            <Properties/>
            <URL>https://mocktarget.apigee.net/json</URL>
        </HTTPTargetConnection>
    </ServiceCallout>
    
  4. Simpan perubahan yang dibuat pada proxy API Anda.

Properti io.timeout.millis

Untuk mengonfigurasi waktu tunggu I/O di kebijakan Servicecallout menggunakan io.timeout.millis, lakukan tindakan berikut:

  1. Pada UI Edge, pilih proxy API tertentu yang ingin Anda konfigurasi nilai waktu tunggu I/O baru untuk kebijakan ServiceInfo.
  2. Pilih kebijakan ServiceInfo tertentu yang ingin Anda ubah.
  3. Tambahkan properti io.timeout.millis dengan nilai yang sesuai di bagian <HTTPTargetConnection> dalam konfigurasi TargetEndpoint.

    Misalnya, untuk mengubah waktu tunggu I/O menjadi 120 detik, tambahkan blok berikut kode:

        <Properties>
          <Property name="io.timeout.millis">120000</Property>
        </Properties>
    

    Karena properti io.timeout.millis dalam milidetik, nilai untuk 120 detik adalah 120000.

    Contoh berikut menunjukkan cara mengonfigurasi waktu tunggu I/O di endpoint target proxy API Anda:

    Contoh konfigurasi kebijakan ServiceInfo menggunakan URL untuk server backend

    <ServiceCallout name="Service-Callout-1">
        <DisplayName>ServiceCallout-1</DisplayName>
        <HTTPTargetConnection>
          <Properties>
            <Property name="io.timeout.millis">120000</Property>
          </Properties>
          <URL>https://mocktarget.apigee.net/json</URL>
        </HTTPTargetConnection>
    </ServiceCallout>
    

    Contoh konfigurasi kebijakan ServiceInfo menggunakan server target

    <ServiceCallout enabled="true" name="Service-Callout-1">
        <DisplayName>ServiceCallout-1</DisplayName>
        <Response>calloutResponse</Response>
        <HTTPTargetConnection>
            <LoadBalancer>
                <Server name="target1" />
                <Server name="target2" />
            </LoadBalancer>
            <Properties>
                <Property name="io.timeout.millis">120000</Property>
            </Properties>
            <Path>/test</Path>
        </HTTPTargetConnection>
    </ServiceCallout>
    
  4. Simpan perubahan yang dibuat pada proxy API Anda.

Mengonfigurasi waktu tunggu I/O pada Pemroses Pesan

Bagian ini menjelaskan cara mengonfigurasi waktu tunggu I/O pada Pemroses Pesan. Waktu tunggu I/O dapat dikonfigurasi melalui properti HTTPTransport.io.timeout.millis, yang menunjukkan nilai waktu tunggu I/O dalam milidetik pada komponen Pemroses Pesan, menggunakan token sesuai sintaks yang dijelaskan dalam Cara mengonfigurasi Edge.

Untuk mengonfigurasi waktu tunggu I/O pada Pemroses Pesan, lakukan hal berikut:

  1. Di komputer Message Processor, buka file berikut di editor. Jika tidak sudah ada, maka buatlah.
    /opt/apigee/customer/application/message-processor.properties
    

    Misalnya, untuk membuka file menggunakan vi, masukkan perintah berikut:

    vi /opt/apigee/customer/application/message-processor.properties
    
  2. Tambahkan baris dalam format berikut ke {i>file<i} properti, dengan mengganti nilai dengan TIME_IN_MILLISECONDS:
    conf_http_HTTPTransport.io.timeout.millis=TIME_IN_MILLISECONDS
    

    Misalnya, untuk mengubah waktu tunggu I/O pada Pemroses Pesan menjadi 120 detik, tambahkan baris berikut:

    conf_http_HTTPTransport.io.timeout.millis=120000
    
  3. Simpan perubahan.
  4. Pastikan file properti dimiliki oleh pengguna apigee seperti yang ditunjukkan di bawah:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. Mulai ulang Pemroses Pesan seperti yang ditunjukkan di bawah ini:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. Jika Anda memiliki lebih dari satu Pemroses Pesan, ulangi langkah-langkah di atas pada semua Pemroses Pesan Prosesor.

Memverifikasi waktu tunggu I/O pada Pemroses Pesan

Bagian ini menjelaskan cara memverifikasi bahwa waktu tunggu I/O telah berhasil diubah pada Pemroses Pesan.

Meskipun Anda menggunakan token conf_http_HTTPTransport.io.timeout.millis untuk menyetel Waktu tunggu I/O pada Pemroses Pesan, Anda harus memverifikasi apakah properti sebenarnya HTTPTransport.io.timeout.millis telah ditetapkan dengan nilai baru.

  1. Di mesin Pemroses Pesan, telusuri properti HTTPTransport.io.timeout.millis di direktori /opt/apigee/edge-message-processor/conf dan periksa untuk telah ditetapkan dengan nilai baru seperti yang ditunjukkan di bawah ini:
    grep -ri "HTTPTransport.io.timeout.millis" /opt/apigee/edge-message-processor/conf
    
  2. Jika nilai waktu tunggu I/O baru berhasil ditetapkan pada Pemroses Pesan, maka hal di atas menunjukkan nilai baru dalam file http.properties.
  3. Contoh hasil dari perintah di atas setelah Anda mengonfigurasi waktu tunggu I/O untuk 120 detik adalah sebagai berikut:

    /opt/apigee/edge-message-processor/conf/http.properties:HTTPTransport.io.timeout.millis=120000
    

    Pada contoh {i>output<i} di atas, perhatikan bahwa properti HTTPTransport.io.timeout.millis telah ditetapkan dengan nilai baru 120000 di http.properties. Hal ini menunjukkan bahwa waktu tunggu I/O berhasil dikonfigurasi ke 120 detik pada Pemroses Pesan.

  4. Jika Anda masih melihat nilai lama untuk properti HTTPTransport.io.timeout.millis, kemudian verifikasi bahwa Anda telah mengikuti semua langkah yang diuraikan dalam Mengonfigurasi waktu tunggu I/O di Pemroses Pesan dengan benar. Jika Anda memiliki melewatkan langkah apa pun, ulangi semua langkah dengan benar.
  5. Jika Anda masih tidak dapat mengubah waktu tunggu I/O, harap hubungi Dukungan Apigee Edge.

Apa selanjutnya?

Pelajari tentang Mengonfigurasi waktu tunggu I/O di Router