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 dalam buffering dalam memori sebelum diproses oleh kebijakan di Proxy API.

Jika streaming diaktifkan, payload permintaan dan respons akan di-streaming tanpa modifikasi ke aplikasi klien (untuk respons) dan endpoint target (untuk permintaan). Streaming berguna terutama jika aplikasi menerima atau menampilkan payload besar, atau jika ada aplikasi yang menampilkan data dalam potongan dari waktu ke waktu.

Antipola

Mengakses payload permintaan/respons dengan streaming yang diaktifkan akan menyebabkan Apigee kembali ke mode buffering default.

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

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

Dampak

  • Streaming akan dinonaktifkan, yang dapat menyebabkan peningkatan latensi dalam memproses data
  • Peningkatan penggunaan memori heap atau error OutOfMemory dapat diamati pada Pemroses Pesan karena penggunaan buffering dalam memori, terutama jika kita memiliki payload permintaan/respons yang besar

Praktik terbaik

  • Jangan akses payload permintaan/respons saat streaming diaktifkan.

Bacaan lebih lanjut