Halaman ini berlaku untuk Apigee dan Apigee hybrid.
Lihat Dokumentasi Apigee Edge.
Topik ini membahas cara menggunakan WebSockets dengan Apigee dan Apigee Hybrid.
Pengantar
Ada banyak situasi di mana interaksi web perlu terjadi secara {i>real time<i}, seperti game, komunikasi, transaksi keuangan, dan aktivitas throughput tinggi lainnya.
WebSocket adalah protokol komunikasi yang menyediakan saluran komunikasi {i>full-duplex <i}antara klien web dan web server melalui koneksi TCP tunggal. Protokol WebSocket menggunakan protokol HTTP untuk membuat koneksi antara klien dan server. Setelah dibuat, klien dan server kemudian menggunakan protokol WebSocket untuk mengirim dan menerima data.
Spesifikasi WebSockets dan protokol dikelola oleh W3C.
Dukungan untuk WebSockets di Apigee
Di Apigee dan Apigee Hybrid, grup lingkungan menyediakan pemilihan rute ke lingkungan dan menentukan
nama host tempat proxy API terekspos. Grup lingkungan mendukung HTTP dan WS
protokol secara native. Anda tidak perlu membuat grup lingkungan khusus atau grup lingkungan
konfigurasi untuk menggunakan WebSockets. Sebaliknya, itu naik
klien untuk meminta
upgrade protokol dari HTTP ke WS dengan menyertakan header permintaan Upgrade
. Permintaan upgrade dibuat
ke endpoint proxy API akan menampilkan respons 101 Switching Protocols
. Permintaan lebih lanjut
dan respons dibuat dua arah pada koneksi WebSockets terbuka, hingga ditutup.
Dukungan kebijakan
Semua kebijakan akan berfungsi di proxy soket web hingga handshake selesai
(yaitu, hingga respons HTTP 101
ditampilkan ke klien),
setelah itu tidak ada kebijakan yang akan dieksekusi, namun token OAuth divalidasi sebelum
masih berlaku dan koneksi terputus jika token kedaluwarsa atau
akan dicabut.
Mencabut koneksi
Koneksi WebSockets ditutup jika:
- Endpoint proxy menerima permintaan tanpa kunci API atau token OAuth.
- Endpoint proxy menerima permintaan dengan token OAuth atau kunci API yang sudah tidak berlaku atau tidak valid.
- Waktu koneksi WebSockets habis.
Menggunakan rekaman aktivitas dan analisis
Pada alat Debug, untuk setiap koneksi WebSockets Anda akan melihat satu permintaan muncul dengan 101 Status, seperti yang ditunjukkan pada screenshot berikut:
Di dasbor analisis Apigee, Anda akan melihat traffic yang dihitung untuk setiap WebSockets sesi. Traffic bolak-balik yang terjadi selama sesi tidak ditampilkan di dasbor.
Contoh aplikasi WebSockets
Untuk mempelajari lebih lanjut, Anda dapat merujuk ke websocket-sample di GitHub. Contoh ini menunjukkan cara memanggil proxy API melalui koneksi WebSockets. {i>Proxy<i} memanggil aplikasi target backend sederhana yang di-deploy di cluster Kubernetes Anda.