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 saat interaksi web perlu terjadi secara real time, seperti game, komunikasi, transaksi keuangan, dan aktivitas throughput tinggi lainnya.
WebSocket adalah protokol yang menyediakan saluran komunikasi full-duplex antara klien web dan server web melalui satu koneksi TCP. Protokol WebSocket menggunakan protokol HTTP untuk membuat koneksi antara klien dan server. Setelah ditetapkan, klien dan server kemudian menggunakan protokol WebSocket untuk mengirim dan menerima data.
Spesifikasi dan protokol WebSockets dikelola oleh W3C.
Dukungan untuk WebSocket di Apigee
Di Apigee dan Apigee Hybrid, grup lingkungan menyediakan perutean ke lingkungan dan menentukan
nama host tempat proxy API diekspos. Grup lingkungan mendukung protokol HTTP dan WS secara native. Anda tidak perlu membuat grup lingkungan khusus atau konfigurasi khusus untuk menggunakan WebSockets. Sebaliknya, klien yang akan meminta upgrade protokol dari HTTP ke WS dengan menyertakan header permintaan Upgrade
. Permintaan upgrade yang dibuat
ke endpoint proxy API akan menampilkan respons 101 Switching Protocols
. Permintaan
dan respons selanjutnya dilakukan secara dua arah pada koneksi WebSockets yang terbuka, hingga koneksi ditutup.
Dukungan kebijakan
Semua kebijakan akan berfungsi di proxy web socket hingga handshake selesai
(yaitu hingga respons HTTP 101
ditampilkan ke klien),
setelah itu tidak ada kebijakan yang akan dijalankan, tetapi token OAuth yang divalidasi sebelum
handshake tetap berlaku dan koneksi akan terputus jika masa berlaku token berakhir atau
dicabut.
Mencabut koneksi
Koneksi WebSockets ditutup saat:
- Endpoint proxy menerima permintaan tanpa kunci API atau token OAuth.
- Endpoint proxy menerima permintaan dengan kunci API atau token OAuth yang sudah tidak berlaku atau tidak valid.
- Waktu tunggu koneksi WebSockets habis.
Menggunakan rekaman aktivitas dan analisis
Di alat Debug, untuk setiap koneksi WebSockets, Anda akan melihat satu permintaan muncul dengan Status 101, seperti yang ditunjukkan pada screenshot berikut:
Di dasbor analisis Apigee, Anda akan melihat traffic yang dihitung untuk setiap sesi WebSockets. Traffic bolak-balik yang terjadi selama sesi tidak ditampilkan di dasbor.
Contoh aplikasi WebSockets
Untuk mempelajari lebih lanjut, Anda dapat melihat aplikasi websocket-sample yang berfungsi di GitHub. Contoh ini menunjukkan cara memanggil proxy API melalui koneksi WebSockets. Proxy memanggil aplikasi target backend sederhana yang di-deploy di cluster Kubernetes Anda.