Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi
Apigee X. info
Permintaan API yang dibuat oleh aplikasi klien mengalir melalui berbagai komponen di Apigee Edge sebelum mencapai layanan backend. Sebagian besar aplikasi klien mengharapkan respons terhadap permintaan ini diterima tepat waktu.
Untuk mendapatkan respons tepat waktu, nilai waktu tunggu I/O ditetapkan di setiap komponen yang dilalui permintaan API. Jika ada komponen dalam alur yang memerlukan waktu lebih lama daripada komponen sebelumnya, komponen sebelumnya akan mengalami waktu tunggu habis dan merespons kembali dengan error 504 Gateway Timeout.
Saat mengonfigurasi waktu tunggu, nilai harus dikonfigurasi di setiap komponen dengan sangat hati-hati, jika tidak, hal ini dapat menyebabkan error Waktu Tunggu Gateway 504.
Dokumen ini menjelaskan praktik terbaik untuk mengonfigurasi waktu tunggu I/O pada berbagai komponen yang dilalui permintaan API di Apigee Edge.
Praktik terbaik untuk mengonfigurasi waktu tunggu I/O
Pertimbangkan praktik terbaik berikut saat mengonfigurasi waktu tunggu I/O:
- Komponen pertama: Selalu gunakan waktu tunggu tertinggi pada komponen pertama dalam alur permintaan API, yaitu Aplikasi Klien di Apigee Edge.
- Komponen terakhir: Selalu gunakan waktu tunggu terendah pada komponen terakhir dalam alur permintaan API, yaitu Layanan Backend di Apigee Edge.
- Antar-komponen: Pastikan ada perbedaan setidaknya 2-3 detik dalam nilai waktu tunggu yang dikonfigurasi di setiap komponen antara komponen pertama dan komponen terakhir dalam alur.
- Router: Sebaiknya selalu konfigurasi (ubah) nilai waktu tunggu I/O untuk
host virtual tertentu, bukan mengonfigurasinya di Router. Hal ini memastikan bahwa nilai waktu tunggu
baru hanya memengaruhi Proxy API yang menggunakan host virtual tertentu dan
bukan semua Proxy API yang ditayangkan oleh Router.
Konfigurasi (ubah) waktu tunggu I/O di Router hanya jika Anda benar-benar yakin bahwa nilai waktu tunggu I/O baru diperlukan atau berlaku untuk semua Proxy API yang berjalan di Router.
- Pemroses Pesan: Sebaiknya selalu konfigurasi (ubah) nilai waktu tunggu I/O
untuk proxy API tertentu, bukan mengonfigurasinya di Pemroses Pesan. Hal ini
memastikan bahwa nilai waktu tunggu yang baru hanya memengaruhi proxy API tertentu, bukan semua proxy API
yang ditayangkan oleh Message Processor.
Konfigurasi (ubah) waktu tunggu I/O di Pemroses Pesan hanya jika Anda benar-benar yakin bahwa nilai waktu tunggu I/O baru diperlukan atau berlaku untuk semua Proxy API yang berjalan di Pemroses Pesan.
Contoh skenario
Skenario di bagian ini dapat membantu Anda memahami cara menetapkan nilai waktu tunggu I/O dengan benar.
Skenario 1: Permintaan ke Apigee Edge langsung dari aplikasi klien
Bagian ini menjelaskan praktik terbaik yang harus diikuti saat menyiapkan nilai waktu tunggu di penyiapan Apigee Edge tanpa komponen perantara antara aplikasi klien dan Apigee Edge serta antara Apigee Edge dan server backend Anda.
Contoh penyiapan Apigee tanpa komponen perantara
Jika Apigee Edge disiapkan seperti yang ditunjukkan dalam diagram di atas, tanpa komponen perantara, gunakan praktik terbaik berikut:
- Aplikasi klien adalah komponen pertama dalam alur. Nilai waktu tunggu tertinggi harus ditetapkan di klien.
- Server backend adalah komponen terakhir dalam alur. Nilai waktu tunggu terendah harus ditetapkan di server backend.
- Konfigurasi nilai waktu tunggu di setiap komponen dalam urutan berikut:
Contoh berikut menunjukkan nilai waktu tunggu yang ditetapkan pada berbagai komponen sesuai dengan panduan di atas untuk menghindari masalah:
Skenario 2: Permintaan ke Apigee Edge dari aplikasi klien melalui komponen perantara
Bagian ini menjelaskan praktik terbaik yang harus diikuti saat menyiapkan nilai waktu tunggu di penyiapan Apigee Edge yang memiliki satu atau beberapa komponen perantara antara aplikasi klien dan Apigee Edge, serta antara Apigee Edge dan server backend Anda.
Komponen perantara dapat berupa load balancer, jaringan penayangan konten (CDN), NGINX, dan sebagainya.
Contoh penyiapan Apigee dengan satu komponen perantara antara Klien dan Apigee Edge serta antara Apigee Edge dan server backend
Jika Apigee Edge disiapkan seperti yang ditunjukkan dalam diagram di atas, dengan satu atau beberapa komponen perantara, gunakan praktik terbaik berikut:
- Aplikasi klien adalah komponen pertama dalam alur. Nilai waktu tunggu tertinggi harus ditetapkan di klien.
- Server backend adalah komponen terakhir dalam alur. Nilai waktu tunggu terendah harus ditetapkan di server backend.
- Konfigurasi nilai waktu tunggu di setiap komponen, termasuk komponen perantara, dalam urutan berikut:
Contoh berikut menunjukkan nilai waktu tunggu yang ditetapkan pada berbagai komponen sesuai dengan panduan di atas untuk menghindari masalah: