O que é o Serviço do Azure SignalR?What is Azure SignalR Service?

O Azure SignalR Service simplifica o processo de adição da funcionalidade Web em tempo real aos aplicativos por HTTP.Azure SignalR Service simplifies the process of adding real-time web functionality to applications over HTTP. Essa funcionalidade em tempo real permite que o serviço envie por push atualizações de conteúdo a clientes conectados, como um aplicativo móvel ou Web de página única.This real-time functionality allows the service to push content updates to connected clients, such as a single page web or mobile application. Como resultado, os clientes são atualizados sem a necessidade de sondar o servidor, ou enviar novas solicitações HTTP para atualizações.As a result, clients are updated without the need to poll the server, or submit new HTTP requests for updates.

Este artigo fornece uma visão geral do Azure SignalR Service.This article provides an overview of Azure SignalR Service.

Para que o Azure SignalR Service é usado?What is Azure SignalR Service used for?

Qualquer cenário que exija o envio de dados do servidor para o cliente em tempo real pode usar o Serviço Azure SignalR.Any scenario that requires pushing data from server to client in real time, can use Azure SignalR Service.

Os recursos em tempo real tradicionais que costumam exigir a sondagem pelo servidor também podem usar o Serviço Azure SignalR.Traditional real-time features that often require polling from server, can also use Azure SignalR Service.

O Serviço Azure SignalR foi usado em vários setores e serve para qualquer tipo de aplicativo que exija atualizações de conteúdo em tempo real.Azure SignalR Service has been used in a wide variety of industries, for any application type that requires real-time content updates. Listamos alguns bons exemplos de uso do Serviço Azure SignalR:We list some examples that are good to use Azure SignalR Service:

  • Atualizações de dados de alta frequência: jogos, votação, pesquisa, leilão.High frequency data updates: gaming, voting, polling, auction.
  • Painéis e monitoramento: painel da empresa, dados do mercado financeiro, atualização instantânea de vendas, placar de jogos com vários jogadores e monitoramento de IoT.Dashboards and monitoring: company dashboard, financial market data, instant sales update, multi-player game leader board, and IoT monitoring.
  • Chat: sala de chat ao vivo, chatbot, atendimento ao cliente online, assistente de compras em tempo real, mensagens de texto, chat em jogos e assim por diante.Chat: live chat room, chat bot, on-line customer support, real-time shopping assistant, messenger, in-game chat, and so on.
  • Localização no mapa em tempo real: acompanhamento logístico, acompanhamento do status de entrega, atualizações de status de transporte, aplicativos com GPS.Real-time location on map: logistic tracking, delivery status tracking, transportation status updates, GPS apps.
  • Anúncios direcionados em tempo real: anúncios e ofertas por push em tempo real personalizados, anúncios interativos.Real time targeted ads: personalized real time push ads and offers, interactive ads.
  • Aplicativos de colaboração: coautoria, aplicativos de quadro de comunicações e software de reunião em equipe.Collaborative apps: coauthoring, whiteboard apps and team meeting software.
  • Notificações por push: redes sociais, emails, jogos, alertas de viagem.Push notifications: social network, email, game, travel alert.
  • Transmissão em tempo real: transmissão de áudio/vídeo ao vivo, legenda ao vivo, tradução, transmissão de eventos/notícias.Real-time broadcasting: live audio/video broadcasting, live captioning, translating, events/news broadcasting.
  • IoT e dispositivos conectados: métricas de IoT em tempo real, controle remoto, status em tempo real e rastreamento de localização.IoT and connected devices: real-time IoT metrics, remote control, real-time status, and location tracking.
  • Automação: acionamento em tempo real de eventos upstream.Automation: real-time trigger from upstream events.

Quais são os benefícios do uso do Serviço Azure SignalR?What are the benefits using Azure SignalR Service?

Baseado em padrão:Standard based:

O SignalR fornece uma abstração sobre várias técnicas usadas para criar aplicativos Web em tempo real.SignalR provides an abstraction over a number of techniques used for building real-time web applications. WebSockets é o transporte ideal, mas outras técnicas, como SSE (Eventos enviados pelo servidor) e Sondagem Longa são usadas quando outras opções não estão disponíveis.WebSockets is the optimal transport, but other techniques like Server-Sent Events (SSE) and Long Polling are used when other options aren't available. O SignalR detecta e inicializa automaticamente o transporte apropriado com base nos recursos com suporte no cliente e no servidor.SignalR automatically detects and initializes the appropriate transport based on the features supported on the server and client.

Suporte nativo do ASP.NET Core:Native ASP.NET Core support:

O Serviço SignalR fornece uma experiência de programação nativa com o ASP.NET Core e o ASP.NET.SignalR Service provides native programming experience with ASP.NET Core and ASP.NET. O desenvolvimento de um novo aplicativo do SignalR com o Serviço SignalR ou a migração de um aplicativo baseado em SignalR existente para o Serviço SignalR exige pouco esforço.Developing new SignalR application with SignalR Service, or migrating from existing SignalR based application to SignalR Service requires minimal efforts. O Serviço SignalR também oferece suporte ao novo recurso do ASP.NET Core: o Blazor do lado do servidor.SignalR Service also supports ASP.NET Core's new feature, Server-side Blazor.

Suporte ao cliente amplo:Broad client support:

O Serviço SignalR funciona com uma ampla gama de clientes, como navegadores da Web e de dispositivos móveis, aplicativos de área de trabalho, aplicativos móveis, processo de servidor, dispositivos IoT e consoles de jogos.SignalR Service works with a broad range of clients, such as web and mobile browsers, desktop apps, mobile apps, server process, IoT devices, and game consoles. O Serviço SignalR oferece SDKs em linguagens diferentes.SignalR Service offers SDKs in different languages. Além dos SDKs do ASP.NET Core ou do ASP.NET C# nativos, o Serviço SignalR também fornece o SDK do cliente JavaScript para habilitar clientes da Web e muitas estruturas em JavaScript.In addition to native ASP.NET Core or ASP.NET C# SDKs, SignalR Service also provides JavaScript client SDK, to enable web clients, and many JavaScript frameworks. Também há suporte para o SDK do cliente Java para aplicativos Java, incluindo aplicativos nativos Android.Java client SDK is also supported for Java applications, including Android native apps. O Serviço SignalR oferece suporte à API REST e pode atuar sem servidor por meio de integrações com o Azure Functions e com a Grade de Eventos.SignalR Service supports REST API, and serverless through integrations with Azure Functions and Event Grid.

Lidar com conexões de cliente em grande escala:Handle large-scale client connections:

O Serviço SignalR foi projetado para aplicativos em grande escala em tempo real.SignalR Service is designed for large-scale real-time applications. O Serviço SignalR permite que várias instâncias funcionem em conjunto a fim de dimensionar para milhões de conexões de cliente.SignalR Service allows multiple instances to work together to scale to millions of client connections. O serviço também oferece suporte a várias regiões globais para fins de recuperação de desastre, alta disponibilidade ou fragmentação.The service also supports multiple global regions for sharding, high availability, or disaster recovery purposes.

Remover a carga para auto-hospedar o SignalR:Remove the burden to self-host SignalR:

Em comparação com aplicativos auto-hospedados do SignalR, a mudança para o Serviço SignalR eliminará a necessidade de gerenciamento de backplanes que lidam com o dimensionamento e as conexões de cliente.Compared to self-hosted SignalR applications, switching to SignalR Service will remove the need to manage back planes that handle the scales and client connections. O serviço totalmente gerenciado também simplifica os aplicativos Web e economiza custos com hospedagem.The fully managed service also simplifies web applications and saves hosting cost. O Serviço SignalR oferece alcance global, data center e rede da mais alta qualidade, pode ser dimensionado para milhões de conexões, garante o SLA e, ao mesmo tempo, fornece todo o grau de conformidade e segurança padrão do Azure.SignalR Service offers global reach and world-class data center and network, scales to millions of connections, guarantees SLA, while providing all the compliance and security at Azure standard.

Serviço gerenciado do SignalR

Oferecer APIs avançadas para padrões de mensagens diferentes:Offer rich APIs for different messaging patterns:

O Serviço SignalR permite que o servidor envie mensagens para uma conexão específica, para todas as conexões ou para um subconjunto de conexões que pertence a um usuário específico ou que foi colocado em um grupo aleatório.SignalR Service allows the server to send messages to a particular connection, all connections, or a subset of connections that belong to a specific user, or have been placed in an arbitrary group.

Como usar o Azure SignalR ServiceHow to use Azure SignalR Service

Há muitas maneiras diferentes de programar com o Serviço Azure SignalR, como alguns dos exemplos listados abaixo:There are many different ways to program with Azure SignalR Service, as some of the samples listed here: