Navigation überspringen

Einfaches Erstellen von Echtzeit-Apps mit WebSockets und Azure Web PubSub – jetzt in der Vorschau

Veröffentlicht am 29 April, 2021

Partner Director of Product Management

Echtzeitanwendungsszenarien wie Chats zum Streamen von Videos, interaktive Whiteboards für den Onlineunterricht und IoT-Dashboards werden immer beliebter. Unternehmen sind an der Entwicklung solcher Anwendungen interessiert, um die Nutzungsqualität und die Echtzeitinteraktion mit Endkunden zu verbessern.

Wir geben heute die Vorschauversion des Azure Web PubSub-Diensts zum Erstellen von Echtzeitwebanwendungen mit WebSockets bekannt. WebSocket ist ein standardisiertes Protokoll, das Vollduplexkommunikation ermöglicht. Es ist von zentraler Bedeutung für die Entwicklung effizienter Echtzeitwebinteraktionen und wird von allen gängigen Browsern und Webservern unterstützt. Azure Web PubSub gestattet es Ihnen, mit WebSockets und dem Publish-Subscribe-Muster ganz unkompliziert Echtzeitwebanwendungen zu entwickeln, z. B. Dashboards für die Liveüberwachung, plattformübergreifende Livechats, Echtzeitstandorte auf Karten usw.

Nutzungsszenarien für den Azure Web PubSub-Dienst

Abbildung 1: Nutzungsszenarien für den Azure Web PubSub-Dienst

Vollständig verwaltet, global verfügbar

Echtzeitszenarien erfordern häufig schnelle Datenflüsse und eine hohe Anzahl gleichzeitiger Verbindungen zwischen Client und Server. So kann etwa eine Finanz-App zum Visualisieren von Marktdaten bis zu 100.000 Verbindungen und Livedaten mit geringer Latenz im Millisekundenbereich benötigen. Um eine solche Funktionalität auch im großen Stil zum Laufen zu bringen, brauchen Sie eine vielschichtige Infrastruktur. Zum Implementieren der Echtzeitnutzung auf Basis von WebSockets müsste ein Entwickler zunächst eine Infrastruktur für die Verwaltung von Clientverbindungen einrichten, Mechanismen implementieren, um diese Infrastruktur ggf. zu skalieren, und auch noch dafür sorgen, dass dieses Setup die SLA-Anforderungen des Unternehmens erfüllt. Der aufwändige Betrieb einer solchen Infrastruktur nimmt Entwicklern die Möglichkeit, ihren Schwerpunkt auf die Optimierung der Nutzungsqualität zu legen. Um dieses Dilemma zu lösen, haben wir den Azure Web PubSub-Dienst entwickelt. Der Dienst bietet integrierte Unterstützung für eine höhere Zahl von Clientverbindungen und für hochverfügbare Architekturen und hält Entwicklern so den Rücken frei, damit diese sich auf die Anwendungslogik konzentrieren können, die den Benutzern vernetzte Echtzeiterfahrungen bietet. 

Azure Web SubPub-Portal

Abbildung 2: Azure Web PubSub-Dienst auf dem Azure-Portal

Native WebSocket-Unterstützung

Der Azure Web PubSub-Dienst unterstützt native WebSockets sowie über WebSocket-APIs eine Vielzahl von Programmiersprachen wie C#, Python und Java. Auf diese Weise können Sie plattformübergreifende Echtzeitanwendungen flexibel erstellen und ihre vorhandenen WebSocket-basierten Anwendungen ganz einfach migrieren.

Dieser Dienst bietet aber nicht nur eine reine WebSocket-Unterstützung, sondern auch das Unterprotokoll json.webpubsub.azure.v1, mit dem Clients das Publish-Subscribe-Muster wirksam implementieren können, ohne Daten zwischen Dienst- und Back-End-Servercode austauschen zu müssen. Im Beispiel für einen plattformübergreifenden Livechat muss der Back-End-Servercode (eine Web-App oder eine Funktion) die Clientnachricht für die Verarbeitung natürlicher Sprache, die Stimmungsanalyse und andere KI-fähige Funktionen ggf. analysieren. Andererseits müssen Aktionsereignisse (wie z. B. eine Lesebestätigung) nicht über die Web-App oder Funktion geroutet werden. In diesem Szenario sendet der Client die Ereignisse mithilfe des Unterprotokolls direkt über den Azure Web PubSub-Dienst an die Ziele.

Serverlose Echtzeitanwendungen mit Azure Functions

Der Azure Web PubSub-Dienst ist nativ in Azure Functions integriert und ermöglicht es Ihnen so, mithilfe von WebSockets serverlose Anwendungen in C#, JavaScript, Python und Java zu erstellen. Dank serverloser Lösungen für Echtzeitanwendungen – unter Verwendung von Azure Functions und dem Azure Web PubSub-Dienst – müssen Sie weniger Code schreiben und weniger Infrastruktur verwalten und können Kosten einsparen. Denken Sie mal an ein Livedashboard für die Standortnachverfolgung. Mit Azure Functions können Sie die Standortdaten von IoT-Geräten integrieren und verarbeiten und dann den Azure Web PubSub-Dienst nutzen, um diese Standortdaten an mehrere Livedashboardclients zu übertragen und die Standortinformationen auf diese Weise in Echtzeit für Ihre Kunden zu visualisieren.

Erste Schritte mit Azure Web PubSub

Weitere Informationen zum Azure Web PubSub-Dienst finden Sie auf der Seite Azure Web PubSub (Vorschau) sowie in der Dokumentation zur Vorschauversion. Erstellen Sie ggf. ein kostenloses Azure-Konto, um mit dem Free- oder Standard-Tarif von Azure Web PubSub diesen Schnellstart zu bearbeiten. Der Free-Tarif ist für Dev/Test konzipiert. Sie beginnen ganz einfach mit einer Einheit und können damit Anwendungen mit bis zu 20 Verbindungen pro Einheit und 20.000 Nachrichten pro Einheit und Tag erstellen. Sehen Sie sich unsere Codebeispiele an, die einige Echtzeit-Apps vorführen, die Sie mit dem Dienst erstellen können. Über Ihre im Feedbackforum geäußerten Gedanken und Ideen freuen wir uns, denn wir wollen den Dienst auch künftig so gestalten, dass er Ihre Echtzeit-Webmessagingbedürfnisse optimal erfüllt. 

Wir können es kaum erwarten, die vielen spannenden Echtzeit-Apps zu sehen, die Sie mit dem Azure Web PubSub-Dienst erstellen werden.