Delen via


Overzicht Socket.IO in Azure

Socket.IO is een veelgebruikte opensource-bibliotheek voor realtime berichten tussen clients en een server. Het beheren van stateful en permanente verbindingen tussen clients en een server is vaak een bron van frustratie voor Socket.IO gebruikers. Het probleem is acuuter wanneer meerdere Socket.IO exemplaren zijn verspreid over servers.

Azure biedt een volledig beheerde cloudoplossing voor Socket.IO. Deze ondersteuning verwijdert de last van het implementeren, hosten en coördineren van Socket.IO instanties voor ontwikkelaars. Ontwikkelteams kunnen zich vervolgens richten op het bouwen van realtime ervaringen met behulp van vertrouwde API's uit de Socket.IO-bibliotheek.

Vereenvoudigde architectuur

Deze functie verwijdert de noodzaak van een 'adapter'-serveronderdeel bij het uitschalen van een Socket.IO-app, zodat het ontwikkelteam de voordelen van een vereenvoudigde architectuur kan profiteren.

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

Voordelen van het hosten van een Socket.IO-app zelf

In de volgende tabel ziet u de voordelen van het gebruik van de volledig beheerde oplossing van Azure.

Artikel Zelf een Socket.IO-app hosten Socket.IO gebruiken in Azure
Implementatie Door de klant beheerd Door Azure beheerd
Hosting De klant moet voldoende serverbronnen inrichten om permanente verbindingen te onderhouden en te onderhouden Door Azure beheerd
Verbindingen schalen Klant die wordt beheerd met behulp van een onderdeel aan de serverzijde, een adapter genoemd Azure beheerd met meer dan 100.000 clientverbindingen
Uptime-garantie Door de klant beheerd Azure beheerd met meer dan 99,9 procent uptime
Beveiliging van bedrijfskwaliteit Door de klant beheerd Door Azure beheerd
Ticketondersteuningssysteem Niet van toepassing Door Azure beheerd

Wanneer u zelf een Socket.IO-app host, maken clients websocket- of long polling-verbindingen rechtstreeks met uw server tot stand. Het onderhouden van dergelijke stateful verbindingen zorgt voor een zware last van uw Socket.IO-server. Deze last beperkt het aantal gelijktijdige verbindingen en verhoogt de berichtlatentie.

Een veelvoorkomende benadering voor het voldoen aan de gelijktijdigheids- en latentievraag is om uit te schalen naar meerdere Socket.IO servers. Voor uitschalen is een onderdeel aan de serverzijde vereist dat een adapter wordt genoemd, zoals de Redis-adapter die de Socket.IO bibliotheek biedt. Een dergelijke adapter introduceert echter een extra onderdeel dat u moet implementeren en beheren. Het vereist ook dat u extra codelogica schrijft om dingen goed te laten werken.

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

Met Socket.IO in Azure kunt u geen schaalproblemen afhandelen en codelogica implementeren die betrekking hebben op het gebruik van een adapter.

Hetzelfde programmeermodel

Als u een zelf-hostende Socket.IO-app wilt migreren naar Azure, voegt u slechts enkele regels code toe. U hoeft de rest van de toepassingscode niet te wijzigen. Met andere woorden, het programmeermodel blijft hetzelfde en de complexiteit van het beheren van een realtime-app wordt verminderd.