Sdílet prostřednictvím


Přehled Socket.IO v Azure

Socket.IO je široce oblíbená opensourcová knihovna pro zasílání zpráv v reálném čase mezi klienty a serverem. Správa stavových a trvalých připojení mezi klienty a serverem je často zdrojem frustrace pro Socket.IO uživatele. Problém je akutní, když se více Socket.IO instancí šíří mezi servery.

Azure poskytuje plně spravované cloudové řešení pro Socket.IO. Tato podpora eliminuje zátěž při nasazování, hostování a koordinaci instancí Socket.IO pro vývojáře. Vývojové týmy se pak můžou zaměřit na vytváření zkušeností v reálném čase pomocí známých rozhraní API z knihovny Socket.IO.

Zjednodušená architektura

Tato funkce eliminuje potřebu součásti serveru "adapter" při horizontálním navýšení kapacity aplikace Socket.IO, což vývojovému týmu umožňuje využívat výhody zjednodušené architektury.

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

Výhody při hostování Socket.IO aplikace sami

Následující tabulka ukazuje výhody použití plně spravovaného řešení z Azure.

Item Hostování aplikace Socket.IO sami Použití Socket.IO v Azure
Nasazení Spravovaná zákazníkem Spravované v Azure
Hostování Zákazník musí zřídit dostatek prostředků serveru pro obsluhu a údržbu trvalých připojení. Spravované v Azure
Škálování připojení Zákazník spravovaný pomocí součásti na straně serveru označované jako adaptér Služba Azure spravovaná pomocí více než 100 000 klientských připojení
Záruka doby provozu Spravovaná zákazníkem Azure spravovaná s více než 99,9% dostupností
Zabezpečení na podnikové úrovni Spravovaná zákazníkem Spravované v Azure
Systém podpory lístků Nelze použít Spravované v Azure

Když hostujete Socket.IO aplikaci sami, klienti navazují připojení WebSocket nebo dlouhá dotazování přímo s vaším serverem. Udržování takových stavových připojení klade na váš Socket.IO server velkou zátěž. Tato zátěž omezuje počet souběžných připojení a zvyšuje latenci zasílání zpráv.

Běžným přístupem ke splnění výzvy souběžnosti a latence je horizontální navýšení kapacity na více Socket.IO serverů. Horizontální navýšení kapacity vyžaduje komponentu na straně serveru označovanou jako adaptér Redis, který poskytuje knihovna Socket.IO. Takový adaptér ale představuje další komponentu, kterou potřebujete nasadit a spravovat. Také vyžaduje, abyste napsali další logiku kódu, abyste mohli správně pracovat.

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

S Socket.IO v Azure můžete využívat zpracování problémů se škálováním a implementaci logiky kódu související s používáním adaptéru.

Stejný programovací model

Pokud chcete migrovat Socket.IO aplikaci v místním prostředí do Azure, přidejte jenom několik řádků kódu. Zbytek kódu aplikace nemusíte měnit. Jinými slovy, programovací model zůstává stejný a složitost správy aplikace v reálném čase se snižuje.