Bagikan melalui


Gambaran umum Socket.IO di Azure

Socket.IO adalah pustaka sumber terbuka yang sangat populer untuk olahpesan real time antara klien dan server. Mengelola koneksi stateful dan persisten antara klien dan server sering kali menjadi sumber frustrasi bagi pengguna Socket.IO. Masalahnya lebih akut ketika beberapa instans Socket.IO tersebar di seluruh server.

Azure menyediakan solusi cloud yang dikelola sepenuhnya untuk Socket.IO. Dukungan ini menghapus beban penyebaran, hosting, dan koordinasi instans Socket.IO untuk pengembang. Tim pengembangan kemudian dapat fokus membangun pengalaman real time dengan menggunakan API yang sudah dikenal dari pustaka Socket.IO.

Arsitektur yang disederhanakan

Fitur ini menghapus kebutuhan komponen server "adaptor" saat menskalakan aplikasi Socket.IO, memungkinkan tim pengembangan untuk menuai manfaat dari arsitektur yang disederhanakan.

Screenshot of a typical architecture of a fully managed Socket.IO app.

Manfaat daripada menghosting aplikasi Socket.IO sendiri

Tabel berikut ini memperlihatkan manfaat menggunakan solusi yang dikelola sepenuhnya dari Azure.

Item Menghosting aplikasi Socket.IO sendiri Menggunakan Socket.IO di Azure
Penyebaran Dikelola pelanggan Dikelola Azure
Hosting Pelanggan perlu menyediakan sumber daya server yang cukup untuk melayani dan memelihara koneksi persisten Dikelola Azure
Menskalakan koneksi Pelanggan dikelola dengan menggunakan komponen sisi server yang disebut adaptor Azure dikelola dengan lebih dari 100.000 koneksi klien di luar kotak
Jaminan waktu aktif Dikelola pelanggan Azure dikelola dengan lebih dari 99,9 persen waktu aktif
Keamanan tingkat perusahaan Dikelola pelanggan Dikelola Azure
Sistem dukungan tiket Tidak berlaku Dikelola Azure

Saat Anda menghosting aplikasi Socket.IO sendiri, klien membuat WebSocket atau koneksi polling panjang langsung dengan server Anda. Mempertahankan koneksi stateful tersebut menempatkan beban berat pada server Socket.IO Anda. Beban ini membatasi jumlah koneksi bersamaan dan meningkatkan latensi olahpesan.

Pendekatan umum untuk memenuhi tantangan konkurensi dan latensi adalah dengan memperluas skala ke beberapa server Socket.IO. Perluasan skala memerlukan komponen sisi server yang disebut adaptor, seperti adaptor Redis yang disediakan pustaka Socket.IO. Namun, adaptor semacam itu memperkenalkan komponen tambahan yang perlu Anda sebarkan dan kelola. Ini juga mengharuskan Anda untuk menulis logika kode tambahan agar semuanya berfungsi dengan baik.

Diagram of a typical architecture of a self-hosted Socket.IO app.

Dengan Socket.IO di Azure, Anda dibeberkan dari penanganan masalah penskalakan dan menerapkan logika kode yang terkait dengan penggunaan adaptor.

Model pemrograman yang sama

Untuk memigrasikan aplikasi Socket.IO yang dihost sendiri ke Azure, Anda hanya menambahkan beberapa baris kode. Tidak perlu mengubah sisa kode aplikasi. Dengan kata lain, model pemrograman tetap sama, dan kompleksitas mengelola aplikasi real-time berkurang.