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 secara tepat waktu.
Untuk mendapatkan respons yang tepat waktu, nilai waktu tunggu I/O ditetapkan di setiap komponen yang menjadi saluran permintaan API. Jika salah satu komponen dalam alur memerlukan waktu lebih lama daripada komponen sebelumnya, waktu tunggu komponen sebelumnya akan 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 504 Gateway Timeout.
Dokumen ini menjelaskan praktik terbaik untuk mengonfigurasi waktu tunggu I/O di berbagai komponen tempat permintaan API mengalir 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.
- Antara 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 konfigurasikan (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.
Konfigurasikan (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 konfigurasikan (ubah) nilai waktu tunggu I/O untuk proxy API tertentu, bukan mengonfigurasinya di Pemroses Pesan. Tindakan ini
memastikan bahwa nilai waktu tunggu baru hanya memengaruhi proxy API tertentu, bukan semua proxy
API yang ditayangkan oleh Message Processor.
Konfigurasikan (ubah) waktu tunggu I/O di Message Processor hanya jika Anda benar-benar yakin bahwa nilai waktu tunggu I/O baru diperlukan atau berlaku untuk semua Proxy API yang berjalan di Message Processor.
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 dari aplikasi klien secara langsung
Bagian ini menjelaskan praktik terbaik yang harus diikuti saat menyiapkan nilai waktu tunggu dalam penyiapan Apigee Edge jika 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 pada 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.
- Konfigurasikan nilai waktu tunggu di setiap komponen dalam urutan berikut:
Contoh berikut menunjukkan nilai waktu tunggu yang ditetapkan 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 dengan 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 pada 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.
- Konfigurasikan nilai waktu tunggu di setiap komponen, termasuk komponen perantara, dalam urutan berikut:
Contoh berikut menunjukkan nilai waktu tunggu yang ditetapkan pada berbagai komponen sesuai panduan yang diberikan di atas untuk menghindari masalah: