Mengonfigurasi API untuk peristiwa yang dikirim server

BERLAKU UNTUK: Pengembang | Dasar | Dasar v2 | Standar | Standar v2 | Premium

Artikel ini menyediakan panduan untuk mengonfigurasi API di API Management yang mengimplementasikan peristiwa yang dikirim server (SSE). SSE didasarkan pada standar HTML5 EventSource untuk streaming (pendorongan) data secara otomatis ke klien melalui HTTP setelah klien membuat koneksi.

Tip

API Management juga menyediakan dukungan asli untuk API WebSocket, yang menjaga satu koneksi persisten dan bidrectional terbuka antara klien dan server.

Prasyarat

Panduan untuk SSE

Ikuti panduan ini saat menggunakan API Management untuk menjangkau API backend yang menerapkan SSE.

  • Pilih tingkat layanan untuk koneksi HTTP yang berjalan lama - SSE bergantung pada koneksi HTTP yang berjalan lama yang didukung di tingkat harga API Management tertentu. Koneksi jangka panjang didukung di tingkat API Management klasik dan v2, tetapi tidak di tingkat Konsumsi.

  • Menjaga koneksi diam tetap hidup - Jika koneksi antara klien dan backend dapat menganggur selama 4 menit atau lebih, terapkan mekanisme untuk menjaga koneksi tetap hidup. Misalnya, aktifkan sinyal keepalive TCP di backend koneksi, atau kirim lalu lintas dari sisi klien setidaknya sekali per 4 menit.

    Konfigurasi ini diperlukan untuk mengganti batas waktu sesi diam selama 4 menit yang diberlakukan oleh Azure Load Balancer, yang digunakan dalam infrastruktur API Management.

  • Relai peristiwa segera ke klien - Nonaktifkan buffer respons pada forward-request kebijakan sehingga peristiwa segera disampaikan kepada klien. Contohnya:

    <forward-request timeout="120" fail-on-error-status-code="true" buffer-response="false"/>
    
  • Hindari kebijakan lain yang respons buffer - Kebijakan tertentu seperti validate-content juga dapat menyangga konten respons dan tidak boleh digunakan dengan API yang menerapkan SSE.

  • Hindari pengelogan isi permintaan/respons untuk Azure Monitor, Application Insights, dan Event Hubs - Anda dapat mengonfigurasi pengelogan permintaan API untuk Azure Monitor atau Application Insights menggunakan pengaturan diagnostik. Pengaturan diagnostik memungkinkan Anda untuk mencatat isi permintaan/respons pada berbagai tahap eksekusi permintaan. Untuk API yang menerapkan SSE, ini dapat menyebabkan buffering tak terduga yang dapat menyebabkan masalah. Pengaturan diagnostik untuk Azure Monitor dan Application Insights yang dikonfigurasi di cakupan GLOBAL/Semua API berlaku untuk semua API dalam layanan. Anda dapat mengambil alih pengaturan untuk API individual sesuai kebutuhan. Saat masuk ke Azure Event Hubs, Anda mengonfigurasi cakupan dan jumlah informasi konteks untuk pengelogan permintaan/respons dengan menggunakan log-to-eventhubs. Untuk API yang menerapkan SSE, pastikan Anda telah menonaktifkan pengelogan isi permintaan/respons untuk Azure Monitor, Application Insights, dan Event Hubs.

  • Nonaktifkan penembolokan respons - Untuk memastikan bahwa pemberitahuan ke klien tepat waktu, verifikasi bahwa penembolokan respons tidak diaktifkan. Untuk informasi selengkapnya, lihat Kebijakan penembolokan API Management.

  • Uji API di bawah beban - Ikuti praktik umum untuk menguji API Anda di bawah beban untuk mendeteksi masalah performa atau konfigurasi sebelum masuk ke produksi.

Langkah berikutnya