Antipola: Mengakses payload permintaan/respons saat streaming diaktifkan

Anda sedang melihat dokumentasi Apigee dan Apigee hybrid.
Lihat Dokumentasi Apigee Edge.

Di Apigee, perilaku defaultnya adalah payload permintaan dan respons HTTP disimpan di buffer dalam memori sebelum diproses oleh kebijakan di Proxy API.

Jika streaming diaktifkan, payload permintaan dan respons akan di-streaming tanpa perubahan pada aplikasi klien (untuk respons) dan endpoint target (untuk permintaan). Streaming berguna terutama jika aplikasi menerima atau mengembalikan {i>payload<i} yang besar, atau jika ada aplikasi yang mengembalikan data dalam potongan data dari waktu ke waktu.

Anti-pola

Mengakses payload permintaan/respons dengan streaming yang diaktifkan menyebabkan Apigee kembali ke mode {i>buffering<i} default.

Permintaan ke Kebijakan Kuota Pemroses Pesan untuk Mengekstrak Variabel ke Target.
            Menargetkan JSONToXML Pemroses Pesan untuk Merespons.
Gambar 1: Mengakses payload permintaan/respons dengan streaming diaktifkan

Ilustrasi di atas menunjukkan bahwa kita mencoba untuk mengekstrak variabel dari payload permintaan dan mengonversi payload respons JSON ke XML menggunakan kebijakan JSONToXML. Tindakan ini akan menonaktifkan streaming di Apigee.

Dampak

  • Streaming akan dinonaktifkan sehingga dapat menyebabkan peningkatan latensi dalam pemrosesan data
  • Peningkatan penggunaan memori heap atau error OutOfMemory dapat diamati di Pemroses Pesan karena penggunaan {i>buffer<i} dalam memori, terutama jika kita memiliki payload permintaan/respons yang besar

Praktik terbaik

  • Jangan mengakses payload permintaan/respons saat streaming diaktifkan.

Bacaan lebih lanjut