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 berharap agar respons terhadap permintaan ini diterima secara tepat waktu.
Untuk mendapatkan respons yang tepat waktu, nilai waktu tunggu I/O ditetapkan di setiap komponen yang dilalui permintaan API. Jika salah satu komponen dalam alur memerlukan waktu yang lebih lama daripada komponen sebelumnya, komponen sebelumnya akan kehabisan waktu dan merespons kembali dengan error Waktu Tunggu Gateway 504.
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 digunakan untuk mengalirkan 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 Anda mengonfigurasi (mengubah) 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 tidak semua Proxy API yang ditayangkan oleh Router.
Konfigurasikan (mengubah) 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: Biasanya, mengonfigurasi (mengubah) nilai waktu tunggu I/O untuk proxy API tertentu, bukan mengonfigurasinya pada Pemroses Pesan. Hal ini memastikan bahwa nilai waktu tunggu yang baru hanya memengaruhi proxy API tertentu dan tidak semua proxy API yang disalurkan oleh Pemroses Pesan.
Konfigurasikan (mengubah) waktu tunggu I/O pada Pemroses Pesan hanya ketika Anda benar-benar yakin bahwa nilai waktu tunggu I/O yang baru diperlukan atau berlaku untuk semua Proxy API yang berjalan pada Pemroses Pesan.
Skenario contoh
Skenario di bagian ini dapat membantu Anda memahami cara menetapkan nilai waktu tunggu I/O dengan benar.
Skenario 1: Permintaan ke Apigee Edge dari aplikasi klien secara langsung
Bagian ini menjelaskan praktik terbaik yang harus diikuti saat menyiapkan nilai waktu tunggu dalam penyiapan Apigee Edge ketika tidak ada 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 pada klien.
- Server backend adalah komponen terakhir dalam alur. Nilai waktu tunggu terendah harus ditetapkan di server backend.
- Konfigurasikan nilai waktu tunggu pada setiap komponen dengan urutan berikut:
Contoh berikut menunjukkan nilai waktu tunggu yang disetel pada berbagai komponen sesuai panduan yang diberikan 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 dalam penyiapan Apigee Edge ketika ada 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 pada klien.
- Server backend adalah komponen terakhir dalam alur. Nilai timeout terendah harus ditetapkan di server backend.
- Konfigurasikan nilai waktu tunggu pada setiap komponen, termasuk komponen perantara, dalam urutan berikut:
Contoh berikut menunjukkan nilai waktu tunggu yang disetel pada berbagai komponen sesuai panduan yang diberikan di atas untuk menghindari masalah: