Qu’est-ce que le service Azure SignalR ?
Le service Azure SignalR simplifie le processus d’ajout de fonctionnalités web en temps réel aux applications par HTTP. Cette fonctionnalité en temps réel permet au service d’envoyer des mises à jour de contenu aux clients connectés, comme une application web ou mobile monopage. Par conséquent, les clients sont mis à jour sans avoir à interroger le serveur ni à envoyer de nouvelles requêtes HTTP de mise à jour.
Cet article fournit une vue d’ensemble du service Azure SignalR.
À quoi sert le service Azure SignalR ?
Tout scénario qui nécessite l’envoi (push) de données du serveur au client en temps réel peut utiliser Azure SignalR Service.
Les fonctionnalités en temps réel traditionnelles qui demandent souvent d’interroger un serveur peuvent aussi utiliser Azure SignalR Service.
Azure SignalR Service a été utilisé dans un large éventail de secteurs d’activité, pour tout type d’application nécessitant des mises à jour de contenu en temps réel. Voici quelques exemples où vous pouvez utiliser Azure SignalR Service :
- Mises à jour haute fréquence de données : jeux, votes, sondages et enchères.
- Tableaux de bord et monitoring : tableau de bord d’entreprise, données des marchés financiers, mise à jour instantanée des ventes, tableaux meneurs de jeu multijoueurs et monitoring IoT.
- Conversation : visioconférence, bot conversationnel, support technique en ligne, assistants d’achat en temps réel, messageries et conversations intégrée au jeu.
- Localisation en temps réel sur un mappage : suivi logistique, suivi de l’état de livraison, mises à jour sur l’état de la circulation, applications GPS.
- Publicités ciblées en temps réel : publicités et offres push en temps réel personnalisées et publicités interactives.
- Applications collaboratives : rédaction conjointe, applications de tableau blanc et logiciels de réunion d’équipe.
- Notifications Push : réseau social, e-mail, jeux et alertes de voyage.
- Diffusion en temps réel : diffusion audio/vidéo en direct, sous-titrage en direct, traduction et diffusion d’événements et d’actualités.
- IoT et appareils connectés : mesures IoT en temps réel, contrôle à distance, statut en temps réel et suivi de localisation.
- Automation : déclencheurs en temps réel à partir d’événements en amont.
Quels sont les avantages de l’utilisation d’Azure SignalR Service ?
Produit basé sur des normes :
SignalR offre une abstraction sur de nombreuses techniques utilisées pour générer des applications web en temps réel. WebSocket est le mécanisme de transport optimal, mais d’autres techniques comme SSE (Server-Sent Events) et le Long Polling sont utilisées lorsque les autres options ne sont pas disponibles. SignalR détecte automatiquement et initialise le mode de transport adapté en fonction des fonctionnalités prises en charge sur le serveur et le client.
Prise en charge native d’ASP.NET Core :
SignalR Service offre une expérience de programmation native avec ASP.NET Core et ASP.NET. Des efforts minimes sont requis pour le développement de nouvelles applications SignalR avec SignalR Service ou la migration d’applications existantes basées sur SignalR vers SignalR Service. SignalR Service prend également en charge la nouvelle fonctionnalité d’ASP.NET Core, Blazor côté serveur.
Prise en charge étendue des clients :
SignalR Service fonctionne avec un large éventail de clients, tels que :
- navigateurs web et mobiles
- applications de bureau
- applications mobiles
- Appareils IoT
- consoles de jeu
Support multilingue :
SignalR Service propose des kits de développement logiciel dans des langages différents :
- Côté client : toutes les bibliothèques clientes prenant en charge le protocole SignalR sont compatibles avec le service SignalR.
- Côté serveur : applications web ASP.NET Core ou ASP.NET
- Prise en charge du serverless par le biais d’API REST, de déclencheurs et de liaisons Azure Functions et d’intégrations Event Grid pour ASP.NET Core SignalR.
Gérer les connexions client à grande échelle :
SignalR Service est conçu pour les applications temps réel à grande échelle. SignalR Service permet à plusieurs instances de travailler ensemble pour s’adapter à des millions de connexions client. Le service prend également en charge de multiples régions globale pour le partitionnement, la haute disponibilité ou la récupération d’urgence.
Supprimer la nécessité d’auto-héberger SignalR :
Comparé aux applications SignalR hébergées par l’utilisateur, le passage à SignalR Service prend en charge les fonds de panier qui gèrent la mise à l'échelle et les connexions client. Le service entièrement géré simplifie également les applications web et réduit les coûts d’hébergement. SignalR Service offre un centre de données et un réseau de classe mondiale, s’adapte à des millions de connexions et assure la conformité et la sécurité au standard Azure.
SignalR Service prend en charge les configurations basées sur le serveur et les environnements serverless via l’intégration à Azure Functions et Event Grid.
Offrir des API riches pour des modèles de messagerie différents :
SignalR Service permet au serveur d’envoyer des messages à une connexion en particulier, à toutes les connexions ou à un sous-ensemble de connexions appartenant à un utilisateur spécifique ou qui ont été placées dans un groupe arbitraire.
Comment utiliser le service Azure SignalR
Il existe de nombreuses façons de programmer avec Azure SignalR Service. Voici quelques exemples :
- Mettre à l’échelle une application ASP.NET Core SignalR : intégrez un service Azure SignalR à une application ASP.NET Core SignalR pour augmenter la taille des instances à des centaines de milliers de connexions.
- Générer des applications en temps réel serverless : utilisez l’intégration d’Azure Functions au service Azure SignalR pour générer des applications en temps réel serverless dans des langages tels que JavaScript, C# et Java.
- Envoyer des messages à partir du serveur aux clients via l’API REST * le service Azure SignalR fournit l’API REST pour permettre aux applications de publier des messages aux clients connectés à SignalR Service, dans n’importe quel langage de programmation compatible avec REST.