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 Message Processor Apigee Edge.

Waktu tunggu I/O pada Message Processor menunjukkan waktu tunggu Message Processor untuk menerima respons dari server backend atau agar soket siap menulis permintaan ke server backend, sebelum waktu tunggu habis.

Nilai default waktu tunggu I/O Message Processor adalah 55 seconds. Periode waktu tunggu ini berlaku untuk server backend yang dikonfigurasi dalam konfigurasi endpoint target dan dalam kebijakan ServiceCallout proxy API Anda.

Waktu tunggu I/O untuk Message Processor dapat ditingkatkan atau dikurangi dari nilai default 55 seconds berdasarkan kebutuhan Anda. Waktu tunggu I/O dapat dikonfigurasi di tempat berikut:

  • Di proxy API
    • Endpoint target
    • Kebijakan ServiceCallout
  • Di Message Processor

Properti berikut mengontrol waktu tunggu I/O pada Message Processor:

Nama Properti Lokasi Deskripsi
io.timeout.millis

Proxy API:

  • Endpoint target
  • Kebijakan Service Callout

Ini adalah waktu maksimum Message Processor melakukan hal berikut:

  • Menunggu untuk menerima respons dari server backend, setelah membuat koneksi dan mengirim permintaan ke server backend ATAU
  • Menunggu soket siap agar Message Processor dapat mengirim permintaan ke server backend.

Jika tidak ada respons dari server backend dalam periode waktu tunggu ini, maka Message Processor akan habis waktu.

Secara default, properti ini mengambil nilai yang ditetapkan untuk properti HTTPTransport.io.timeout.millis di Message Processor. Nilai default-nya adalah 55 seconds.

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

HTTPTransport.io.timeout.millis Message Processor

Ini adalah waktu maksimum Message Processor melakukan hal berikut:

  • Menunggu untuk menerima respons dari server backend, setelah membuat koneksi dan mengirim permintaan ke server backend ATAU
  • Menunggu soket siap agar Message Processor dapat mengirim permintaan ke server backend.

Jika tidak ada respons dari server backend dalam periode waktu tunggu ini, maka Message Processor akan habis waktu.

Properti ini digunakan untuk semua Proxy API yang berjalan di Message Processor ini.

Nilai default properti ini adalah 55 seconds.

Anda dapat mengubah properti ini seperti yang dijelaskan dalam Mengonfigurasi waktu tunggu I/O pada Message Processor, atau Anda dapat mengganti nilai ini dengan menetapkan properti io.timeout.millis di tingkat proxy API.

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 ServiceCallout

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. Di UI Edge, pilih proxy API tertentu tempat Anda ingin mengonfigurasi nilai waktu tunggu I/O baru.
  2. Pilih endpoint target tertentu yang ingin Anda ubah.
  3. Tambahkan properti io.timeout.millis dengan nilai yang sesuai di bawah elemen <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 dalam konfigurasi endpoint target 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 dilakukan pada proxy API Anda.

Mengonfigurasi waktu tunggu I/O dalam kebijakan ServiceCallout proxy API

Bagian ini menjelaskan cara mengonfigurasi waktu tunggu I/O dalam kebijakan ServiceCallout proxy API Anda. Waktu tunggu I/O dapat dikonfigurasi melalui elemen <Timeout> atau properti io.timeout.millis. Elemen <Timeout> dan properti io.timeout.millis menunjukkan nilai waktu tunggu I/O dalam milidetik.

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

  • <Timeout> elemen.
  • Properti io.timeout.millis.

Elemen waktu tunggu

Untuk mengonfigurasi waktu tunggu I/O dalam kebijakan ServiceCallout menggunakan elemen <Timeout>, lakukan hal berikut:

  1. Di UI Edge, pilih proxy API tertentu tempat Anda ingin mengonfigurasi nilai waktu tunggu I/O baru untuk kebijakan ServiceCallout.
  2. Pilih kebijakan ServiceCallout 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 dalam kebijakan ServiceCallout kebijakan menggunakan elemen <Timeout>:

    Contoh konfigurasi kebijakan ServiceCallout 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 dilakukan pada proxy API Anda.

Properti io.timeout.millis

Untuk mengonfigurasi waktu tunggu I/O dalam kebijakan ServiceCallout menggunakan properti io.timeout.millis, lakukan hal berikut:

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

    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 dalam konfigurasi endpoint target proxy API Anda:

    Contoh konfigurasi kebijakan ServiceCallout 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 ServiceCallout 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 dilakukan pada proxy API Anda.

Mengonfigurasi waktu tunggu I/O pada Message Processor

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

Untuk mengonfigurasi waktu tunggu I/O pada Message Processor, lakukan hal berikut:

  1. Di mesin Message Processor, buka file berikut di editor. Jika belum ada, buat file tersebut.
    /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 file properti, dengan mengganti nilai untuk TIME_IN_MILLISECONDS:
    conf_http_HTTPTransport.io.timeout.millis=TIME_IN_MILLISECONDS

    Misalnya, untuk mengubah waktu tunggu I/O pada Message Processor 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 Message Processor seperti yang ditunjukkan di bawah:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  6. Jika Anda memiliki lebih dari satu Message Processor, ulangi langkah-langkah di atas pada semua Message Processors.

Memverifikasi waktu tunggu I/O pada Message Processor

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

Meskipun Anda menggunakan token conf_http_HTTPTransport.io.timeout.millis untuk menetapkan waktu tunggu I/O pada Message Processor, Anda harus memverifikasi apakah properti sebenarnya HTTPTransport.io.timeout.millis telah ditetapkan dengan nilai baru.

  1. Di mesin Message Processor, cari properti HTTPTransport.io.timeout.millis di direktori /opt/apigee/edge-message-processor/conf dan periksa apakah properti tersebut telah ditetapkan dengan nilai baru seperti yang ditunjukkan di bawah:
    grep -ri "HTTPTransport.io.timeout.millis" /opt/apigee/edge-message-processor/conf
  2. Jika nilai waktu tunggu I/O baru berhasil ditetapkan di Message Processor, perintah di atas akan menampilkan nilai baru dalam file http.properties.
  3. Contoh hasil dari perintah di atas setelah Anda mengonfigurasi waktu tunggu I/O menjadi 120 detik adalah sebagai berikut:

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

    Dalam output contoh 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 menjadi 120 detik di Message Processor.

  4. Jika Anda masih melihat nilai lama untuk properti HTTPTransport.io.timeout.millis, pastikan Anda telah mengikuti semua langkah yang diuraikan dalam Mengonfigurasi waktu tunggu I/O pada Message Processor dengan benar. Jika Anda melewatkan langkah apa pun, ulangi semua langkah dengan benar.
  5. Jika Anda masih tidak dapat mengubah waktu tunggu I/O, hubungi Dukungan Apigee Edge.

Apa selanjutnya?

Pelajari Mengonfigurasi waktu tunggu I/O pada Router