Anda sedang melihat dokumentasi Apigee Edge.
Buka
dokumentasi Apigee X. info
Dokumen ini menjelaskan cara mengonfigurasi waktu tunggu I/O untuk Apigee Edge Message Processors.
Waktu tunggu I/O pada Pemroses Pesan mewakili waktu saat Pemroses Pesan menunggu untuk menerima respons dari server backend atau hingga soket siap untuk menulis permintaan ke server backend, sebelum waktu habis.
Nilai default waktu tunggu I/O Pemroses Pesan adalah 55 seconds
. Periode waktu tunggu ini berlaku untuk server backend yang dikonfigurasi di konfigurasi endpoint target dan di kebijakan ServiceCallout proxy API Anda.
Waktu tunggu I/O untuk Pemroses Pesan dapat ditingkatkan atau diturunkan dari nilai default
55 seconds
berdasarkan kebutuhan Anda. ID ini dapat dikonfigurasi di tempat berikut:
- Di proxy API
- Endpoint target
- Kebijakan ServiceCallout
- Pada Pemroses Pesan
Properti berikut mengontrol waktu tunggu I/O pada Prosesor Pesan:
Nama Properti | Lokasi | Deskripsi |
---|---|---|
io.timeout.millis
|
Proxy API:
|
Ini adalah waktu maksimum yang diperlukan pemroses Pesan untuk melakukan hal-hal berikut:
Jika tidak ada respons dari server backend dalam periode waktu tunggu ini, maka waktu tunggu Pemroses Pesan akan habis.
Secara default, properti ini menggunakan nilai yang ditetapkan untuk properti Jika properti ini diubah dengan nilai waktu tunggu baru untuk proxy API tertentu, hanya proxy API tersebut yang akan terpengaruh. |
HTTPTransport.io.timeout.millis
|
Message Processor |
Ini adalah waktu maksimum yang diperlukan pemroses Pesan untuk melakukan hal-hal berikut:
Jika tidak ada respons dari server backend dalam periode waktu tunggu ini, maka waktu tunggu Pemroses Pesan akan habis. Properti ini digunakan untuk semua Proxy API yang berjalan di Pemroses Pesan ini.
Nilai default properti ini adalah
Anda dapat mengubah properti ini seperti yang dijelaskan dalam Mengonfigurasi waktu tunggu I/O di Prosesor Pesan, atau Anda dapat menimpa nilai ini dengan menyetel properti |
Sebelum memulai
Sebelum menggunakan langkah-langkah dalam dokumen ini, pastikan Anda memahami topik berikut:
- Jika Anda tidak terbiasa dengan waktu tunggu I/O, lihat deskripsi
properti
io.timeout.millis
di Spesifikasi Properti Transportasi TargetEndpoint. - Jika Anda tidak terbiasa mengonfigurasi properti Edge untuk Private Cloud, baca Cara mengonfigurasi Edge.
- Pastikan Anda mengikuti rekomendasi di Praktik terbaik untuk mengonfigurasi waktu tunggu I/O.
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
mewakili nilai waktu tunggu I/O dalam milidetik.
- Di UI Edge, pilih proxy API tertentu tempat Anda ingin mengonfigurasi nilai waktu tunggu I/O yang baru.
- Pilih endpoint target tertentu yang ingin Anda ubah.
- Tambahkan properti
io.timeout.millis
dengan nilai yang sesuai di bagian elemen<HTTPTargetConnection>
dalam konfigurasiTargetEndpoint
. - Simpan perubahan yang dibuat pada proxy API Anda.
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 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 yang 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>
Mengonfigurasi waktu tunggu I/O dalam kebijakan ServiceCallout proxy API
Bagian ini menjelaskan cara mengonfigurasi waktu tunggu I/O pada kebijakan ServiceCallout di proxy API Anda. Waktu tunggu I/O dapat dikonfigurasi melalui elemen <Timeout>
atau properti io.timeout.millis
. Elemen <Timeout>
dan properti
io.timeout.millis
mewakili nilai waktu tunggu I/O dalam milidetik.
Anda dapat mengonfigurasi waktu tunggu I/O pada kebijakan ServiceCallout menggunakan salah satu metode berikut:
- Elemen
<Timeout>
. io.timeout.millis
.
Elemen waktu tunggu
Untuk mengonfigurasi waktu tunggu I/O pada kebijakan ServiceCallout menggunakan elemen <Timeout>
, lakukan hal berikut:
- Di UI Edge, pilih proxy API tertentu tempat Anda ingin mengonfigurasi nilai waktu tunggu I/O yang baru untuk kebijakan ServiceCallout.
- Pilih kebijakan ServiceCallout tertentu yang ingin Anda ubah.
- Tambahkan elemen
<Timeout>
dengan nilai yang sesuai di bagian 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 adalah120000
.Contoh berikut menunjukkan cara mengonfigurasi waktu tunggu I/O dalam kebijakan ServiceCallout 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>
- Simpan perubahan yang dibuat pada proxy API Anda.
Properti io.timeout.millis
Untuk mengonfigurasi waktu tunggu I/O pada kebijakan ServiceCallout menggunakan properti io.timeout.millis
, lakukan hal berikut:
- Di UI Edge, pilih proxy API tertentu tempat Anda ingin mengonfigurasi nilai waktu tunggu I/O yang baru untuk kebijakan ServiceCallout.
- Pilih kebijakan ServiceCallout tertentu yang ingin Anda ubah.
- Tambahkan properti
io.timeout.millis
dengan nilai yang sesuai di bagian 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 adalah120000
.Contoh berikut menunjukkan cara mengonfigurasi waktu tunggu I/O di 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 yang 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>
- Simpan perubahan yang dibuat pada proxy API Anda.
Mengonfigurasi waktu tunggu I/O pada Prosesor Pesan
Bagian ini menjelaskan cara mengonfigurasi waktu tunggu I/O pada Prosesor Pesan.
Waktu tunggu I/O dapat dikonfigurasi melalui properti HTTPTransport.io.timeout.millis
,
yang mewakili nilai waktu tunggu I/O dalam milidetik pada komponen Pemroses Pesan,
menggunakan token sesuai sintaksis yang dijelaskan dalam
Cara mengonfigurasi
Edge.
Untuk mengonfigurasi waktu tunggu I/O pada Prosesor Pesan, lakukan hal berikut:
- Di mesin Message Processor, buka file berikut di editor. Jika belum ada, maka buat.
/opt/apigee/customer/application/message-processor.properties
Misalnya, untuk membuka file menggunakan
vi
, masukkan perintah berikut:vi /opt/apigee/customer/application/message-processor.properties
- Tambahkan baris dalam format berikut ke file 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 Message Processor menjadi 120 detik, tambahkan baris berikut:
conf_http_HTTPTransport.io.timeout.millis=120000
- Simpan perubahan.
- Pastikan file properti dimiliki oleh pengguna
apigee
seperti yang ditunjukkan di bawah ini:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- Mulai ulang Prosesor Pesan seperti yang ditunjukkan di bawah ini:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Jika Anda memiliki lebih dari satu Pemroses Pesan, ulangi langkah-langkah di atas pada semua Pemroses Pesan.
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 menetapkan waktu tunggu I/O pada Pemroses Pesan, Anda harus memverifikasi apakah properti sebenarnya HTTPTransport.io.timeout.millis
telah ditetapkan dengan nilai baru.
- Pada mesin Message Processor, telusuri properti
HTTPTransport.io.timeout.millis
dalam direktori/opt/apigee/edge-message-processor/conf
dan periksa apakah properti tersebut telah ditetapkan dengan nilai baru seperti yang ditunjukkan di bawah ini:grep -ri "HTTPTransport.io.timeout.millis" /opt/apigee/edge-message-processor/conf
- Jika nilai waktu tunggu I/O baru berhasil ditetapkan di Pemroses Pesan, perintah di atas akan menampilkan nilai baru dalam file
http.properties
. - 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 di Pemroses Pesan dengan benar. Jika Anda melewatkan langkah apa pun, ulangi lagi semua langkah tersebut dengan benar. - Jika Anda masih tidak dapat mengubah waktu tunggu I/O, hubungi Dukungan Apigee Edge.
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
Pada contoh output 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 hingga 120 detik pada Pemroses Pesan.
Langkah berikutnya?
Pelajari tentang Mengonfigurasi waktu tunggu I/O di Router