Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Socket.IO ist eine weit verbreitete Open-Source-Bibliothek für Echtzeitnachrichten zwischen Clients und einem Server. Das Verwalten zustandsbehafteter und persistenter Verbindungen zwischen Clients und einem Server ist häufig eine Ursache für Frustration für Socket.IO Benutzer. Das Problem ist akuter, wenn mehrere Socket.IO Instanzen auf Server verteilt sind.
Azure bietet eine vollständig verwaltete Cloudlösung für Socket.IO. Diese Unterstützung beseitigt die Bereitstellung, das Hosting und die Koordination von Socket.IO Instanzen für Entwickler. Entwicklungsteams können sich dann auf die Erstellung von Echtzeiterfahrungen konzentrieren, indem sie vertraute APIs aus der Socket.IO-Bibliothek verwenden.
Vereinfachte Architektur
Dieses Feature entfernt die Notwendigkeit einer "Adapter"-Serverkomponente beim Skalieren einer Socket.IO-App, sodass das Entwicklungsteam die Vorteile einer vereinfachten Architektur nutzen kann.
Vorteile beim Hosten einer Socket.IO-App selbst
Die folgende Tabelle zeigt die Vorteile der Verwendung der vollständig verwalteten Lösung aus Azure.
Artikel | Hosten einer Socket.IO-App selbst | Verwenden von Socket.IO in Azure |
---|---|---|
Bereitstellung | Vom Kunden verwaltet | Von Azure verwaltet |
Hosting | Der Kunde muss genügend Serverressourcen bereitstellen, um dauerhafte Verbindungen zu bedienen und zu Standard | Von Azure verwaltet |
Skalieren von Verbindungen | Vom Kunden verwaltet mit einer serverseitigen Komponente, die als Adapter bezeichnet wird | Azure wird mit mehr als 100.000 Clientverbindungen sofort verwaltet |
Uptime-Garantie | Vom Kunden verwaltet | Azure verwaltet mit mehr als 99,9 Prozent Betriebszeit |
Sicherheit auf Unternehmensniveau | Vom Kunden verwaltet | Von Azure verwaltet |
Ticketunterstützungssystem | Nicht zutreffend | Von Azure verwaltet |
Wenn Sie eine Socket.IO-App selbst hosten, richten Clients WebSocket- oder Long-Polling-Verbindungen direkt mit Ihrem Server ein. Die Aufrechterhaltung solcher zustandsbehafteter Verbindungen belastet Ihren Socket.IO Server erheblich. Diese Belastung begrenzt die Anzahl gleichzeitiger Verbindungen und erhöht die Messaginglatenz.
Ein gängiger Ansatz für die Besprechung der Parallelitäts- und Latenzabfrage besteht darin, auf mehrere Socket.IO-Server zu skalieren. Für das Skalieren ist eine serverseitige Komponente erforderlich, die als Adapter bezeichnet wird, z. B. den Redis-Adapter, den die Socket.IO-Bibliothek bereitstellt. Ein solcher Adapter führt jedoch eine zusätzliche Komponente ein, die Sie bereitstellen und verwalten müssen. Außerdem müssen Sie zusätzliche Codelogik schreiben, um die ordnungsgemäße Funktionsweise zu erzielen.
Mit Socket.IO in Azure können Sie keine Skalierungsprobleme behandeln und Codelogik implementieren, die sich auf die Verwendung eines Adapters bezieht.
Gleiches Programmiermodell
Um eine selbst gehostete Socket.IO-App zu Azure zu migrieren, fügen Sie nur einige Codezeilen hinzu. Es ist nicht erforderlich, den Rest des Anwendungscodes zu ändern. Mit anderen Worten: Das Programmiermodell wird erneut Standard und die Komplexität der Verwaltung einer Echtzeit-App wird reduziert.