SlideShare una empresa de Scribd logo
1 de 45
October 4th, 5th & 6th 2018.NET Conf AR v2018
Futbol multi-screen
con Azure SignalR Service
Ing. Jose A. Fernandez
Tech Lead
@fernandezja
October 4th, 5th & 6th 2018.NET Conf AR v2018
Agenda
• SignalR
• Que es? Que versiones existen?
• Diferencias/Cambios
• Ping charla v2017 #NETConfAR
• Performance/Escalamiento
• Demo
• Azure SignalR Service
• Configuracion
• Conexiones
October 4th, 5th & 6th 2018.NET Conf AR v2018
SignalR. Que es? Repasando
• Apps en real-time increíblemente simple para .NET
• Provee una capa de abstracción sobre algunos de los transportes
• API Hubs para server-based push hacia web clients
• Clientes for JavaScript/Typescript, C#, C++, & Java
• Tipo de Conexiones…
• Forever Frames
• ServerSentEvent
• LongPolling
• Websockets
October 4th, 5th & 6th 2018.NET Conf AR v2018
SignalR a la carta
• Dos versiones
ASP.NET SignalR
ASP.NET Core SignalR
October 4th, 5th & 6th 2018.NET Conf AR v2018
ASP.NET SignalR / ASP.NET Core SignalR
ASP.NET SignalR ASP.NET Core SignalR
Server NuGet Package Microsoft.AspNet.SignalR Microsoft.AspNetCore.App (.NET Core)
Microsoft.AspNetCore.SignalR (.NET
Framework)
Client NuGet Packages Microsoft.AspNet.SignalR.Client
Microsoft.AspNet.SignalR.JS
Microsoft.AspNetCore.SignalR.Client
Client npm Package signalr @aspnet/signalr
Server App Type ASP.NET (System.Web) or OWIN Self-Host ASP.NET Core
Supported Server Platforms .NET Framework 4.5 or later .NET Framework 4.6.1 or later
.NET Core 2.1 or later
https://docs.microsoft.com/en-us/aspnet/core/signalr/version-differences?view=aspnetcore-2.1
October 4th, 5th & 6th 2018.NET Conf AR v2018
Ping to! Charla de v2017 #NETConfAR
• Aplicaciones en tiempo real con SignalR Core
https://youtu.be/EeAODcaeoqA
• Florencia Nodar
• Nicolas Granata
October 4th, 5th & 6th 2018.NET Conf AR v2018
Cambios
• Reconexiones automáticas.
• No se admiten
• Protocolos de mensajes
• JSON
• MessagePack (binario)
• … y se puede extender
• Streaming
October 4th, 5th & 6th 2018.NET Conf AR v2018
SignalR
¿Dónde se ejecuta?
October 4th, 5th & 6th 2018.NET Conf AR v2018
Donde se ejecuta?
• Para aplicaciones .NET…
• en nuestra apps,
• en el mismo contexto
• ¿Y si vamos a recibir miles de mensajes por segundo?
• Tenemos que escalar? Como?
• Garantizar que el rendimiento no se vea obstaculizado por la
generación de tráfico de red innecesario.
October 4th, 5th & 6th 2018.NET Conf AR v2018
Escalando
SignalR
mmm!
October 4th, 5th & 6th 2018.NET Conf AR v2018
Escalando SignalR
• Regulación de frecuencia de mensajes
• Cantidad de mensajes por segundo
• Pool de mensajes. Queue… y enviar en un rate adecuado
• Reducir el tamaño del mensaje
• Ver el objeto de transferencia (DTO).
• Propiedades… socialización
• Propiedades… nombres
• MessagePack!
October 4th, 5th & 6th 2018.NET Conf AR v2018
Escalando/Performance SignalR
• Regulación de frecuencia de mensajes
• Cantidad de mensajes por segundo
• Pool de mensajes. Queue… y enviar en un rate adecuado
• Reducir el tamaño del mensaje
• Ver el objeto de transferencia (DTO).
• Propiedades… socialización
• Propiedades… nombres
• MessagePack!
October 4th, 5th & 6th 2018.NET Conf AR v2018
Escalando/Performance SignalR
• Ajuste de su servidor SignalR …rendimiento
• DefaultMessageBufferSize
• Por Default … SignalR conserva 1000 mensajes en memoria por Hub por
conexión
• Mensajes grandes?
• Ajustes de configuración de IIS
• Max concurrent requests per application
• ApplicationPool QueueLength
cd %windir%System32inetsrv appcmd.exe set config
/section:system.webserver/serverRuntime
/appConcurrentRequestLimit:10000
October 4th, 5th & 6th 2018.NET Conf AR v2018
Escalando/Performance SignalR
• ASP.NET Configuracion de la Apps
• Maximum concurrent requests per CPU
• Request Queue Limit
<configuration>
<system.web>
<applicationPool maxConcurrentRequestsPerCPU="20000" />
</system.web>
</configuration>
<processModel autoConfig="false" requestQueueLimit="250000" />
October 4th, 5th & 6th 2018.NET Conf AR v2018
Scale out SignalR
https://docs.microsoft.com/en-us/aspnet/signalr/overview/performance/scaleout-in-signalr
+ Servers Con Backplane
October 4th, 5th & 6th 2018.NET Conf AR v2018
SignalR Backplanes
• Azure Service Bus
• Redis
• SQL Server
October 4th, 5th & 6th 2018.NET Conf AR v2018
Ops!
Operaciones
Infraestructura
October 4th, 5th & 6th 2018.NET Conf AR v2018
MessagePack en ASP.NET Core SignalR
• It's like JSON.
but fast and small.
• https://msgpack.org/
October 4th, 5th & 6th 2018.NET Conf AR v2018
Streaming en ASP.NET Core SignalR
• Admite la transmisión streaming desde el servidor
• Util….cuando los fragmentos de datos llegaran en un lapso de tiempo.
• Cada fragmento se envía al cliente tan pronto como está disponible
October 4th, 5th & 6th 2018.NET Conf AR v2018
Streaming
en ASP.NET
Core
SignalR
October 4th, 5th & 6th 2018.NET Conf AR v2018
Demo
October 4th, 5th & 6th 2018.NET Conf AR v2018
October 4th, 5th & 6th 2018.NET Conf AR v2018
Demo
October 4th, 5th & 6th 2018.NET Conf AR v2018
Demo
http://bit.ly/soccer-signalr
October 4th, 5th & 6th 2018.NET Conf AR v2018
Azure SignalR Service
https://azure.com/signalr
October 4th, 5th & 6th 2018.NET Conf AR v2018
Azure SignalR Service
https://azure.com/signalr
• Es un servicio completamente administrado
• Permite utilizar ASP.NET Core SignalR para
crear app que requieran experiencias e
interacciones en tiempo real
• Como chat, live panels, gráficos, futbol...
• Sin preocuparse por
• el aprovisionamiento de la capacidad,
• el escalamiento
• o las conexiones persistentes.
October 4th, 5th & 6th 2018.NET Conf AR v2018
October 4th, 5th & 6th 2018.NET Conf AR v2018
October 4th, 5th & 6th 2018.NET Conf AR v2018
Azure SignalR Service…
Rápido
y Sencillo
Centrado en el
negocio
Potencial con
otros servicios
October 4th, 5th & 6th 2018.NET Conf AR v2018
Si ya utilizamos SignalR ….
• Paquete Microsoft.Azure.SignalR (Core)
...Microsoft.Azure.SignalR.AspNet
• Configuración Liviana (en Startup)
Rápido
y Sencillo
October 4th, 5th & 6th 2018.NET Conf AR v2018
Si ya utilizamos SignalR ….
• ConectionString
1. Environment Variable
• Azure:SignalR:ConnectionString
• Azure__SignalR__ConnectionString
2. Param en AddAzureSignalR(“…”)
Rápido
y Sencillo
October 4th, 5th & 6th 2018.NET Conf AR v2018
Cliente….
• Mismo cliente de ASP.NET SignalR Core
npm install @aspnet/signalr
<script src="/lib/signalr/signalr.js"></script>
October 4th, 5th & 6th 2018.NET Conf AR v2018
Cliente….
• Misma configuración
• No hay nada exclusivo
de Azure SignalR
October 4th, 5th & 6th 2018.NET Conf AR v2018
Demo
October 4th, 5th & 6th 2018.NET Conf AR v2018
Conexiones del Servidor: Azure SignalR Service
• Expone endpoints por cada Hubs
• Responderá los request de conexiones
• Redirección al app service
• App server al iniciar el SDK abrirá
5 conexiones websockets
con el servicio de SignalR
• Siempre debe estar conectadas !!
• Si se desconecta, se cae todos los clientes
• Se auto reconecta
October 4th, 5th & 6th 2018.NET Conf AR v2018
Conexiones de Clientes: Azure SignalR Service
• Los clientes se conectan al Servicio
…en lugar del app server
• Proceso Cliente Request
1. Envía una solicitud de negociación
al app server
2. Con el SDK de Azure SignalR Service,
el app server devolverá una respuesta
de negociación de redireccionamiento
1. …con la URL del servicio de SignalR
y el token de acceso.
October 4th, 5th & 6th 2018.NET Conf AR v2018
Transporte de Datos: Azure SignalR Service
• Cliente se conectan al servicio
• Es valido hasta…
• El cliente se desconecte
• o el servidor de apps se desconecte
• Es una capa de transporte lógico
• Entre app server y clientes
• Todas las conexiones Azure SignalR
• El App Server lógica de Hubs
October 4th, 5th & 6th 2018.NET Conf AR v2018
Escalar Apps Services… A tener en cuenta
• Las conexiones van fuera del aplicación
• Pero la lógica de los Hubs todavía va a ser necesario escalar
• Cuando tendremos una carga significativa
October 4th, 5th & 6th 2018.NET Conf AR v2018
Escalar Apps Services…
• Varios app servers pueden conectarse a la misma instancia
del Azure SignalR.
• Mismo nombre de clase del Hub
• Se agrupan en el mismo Hub
• Cada conexión/cliente
• Se creara un uno solo app server
• Los mensajes del cliente se enviaran al mismo app server
• ¿Queremos acceder a Info del cliente globalmente?
• … Algun storage para read/write
October 4th, 5th & 6th 2018.NET Conf AR v2018
Personalizando Configuración
services.AddSignalR()
.AddAzureSignalR(options =>
{
options.ConnectionCount = 15;
options.AccessTokenLifetime = TimeSpan.FromDays(1);
options.ClaimsProvider = context => context.User.Claims;
});
October 4th, 5th & 6th 2018.NET Conf AR v2018
Azure SignalR Service
• Disponibilidad para utilizar con ASP.NET Core SignalR
• Todavía en public preview para ASP.NET SignalR
• Azure Functions binding
• https://github.com/Azure/azure-functions-signalrservice-extension
September 24, 2018
Azure SignalR Service now generally available
https://azure.microsoft.com/en-us/blog/azure-signalr-service-now-generally-available/
October 4th, 5th & 6th 2018.NET Conf AR v2018
Lista de Deseos… para la Demo.
• Soporte para recordar ID de pantalla en el browser
• Reconexión
• Mejorar la UI (Arcos, Gol)
• Mosaico mas amplio
• Extender ejemplo …
• Imágenes, Big-Screen
• #CosmosDB
• Serverless #AzureFunctions
• SaaS
October 4th, 5th & 6th 2018.NET Conf AR v2018
Muchas Gracias!
October 4th, 5th & 6th 2018.NET Conf AR v2018
Enlaces
• https://azure.com/signalr
• https://docs.microsoft.com/en-us/azure/azure-signalr/
• https://github.com/fernandezja/soccer-multi-screen-
signalr/tree/master
October 4th, 5th & 6th 2018.NET Conf AR v2018
Muchas Gracias! 
https://github.com/fernandezja
@fernandezja
Ing. Jose A. Fernandez
https://www.linkedin.com/in/fernandezja/

Más contenido relacionado

Similar a Futbol multi-screen con Azure SignalR Services

Derribando la torre de marfil - Plain Concepts Dev Day
Derribando la torre de marfil - Plain Concepts Dev DayDerribando la torre de marfil - Plain Concepts Dev Day
Derribando la torre de marfil - Plain Concepts Dev DayPlain Concepts
 
Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...
Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...
Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...Amazon Web Services
 
Azure bootcampo 2019 start up_v1
Azure bootcampo 2019 start up_v1Azure bootcampo 2019 start up_v1
Azure bootcampo 2019 start up_v1fernando sonego
 
ROS-RoboMaker-ROS2-Spanish-Presentation
ROS-RoboMaker-ROS2-Spanish-PresentationROS-RoboMaker-ROS2-Spanish-Presentation
ROS-RoboMaker-ROS2-Spanish-PresentationCamilo Buscaron
 
Novedades .Net Core - NetBaires
Novedades .Net Core - NetBairesNovedades .Net Core - NetBaires
Novedades .Net Core - NetBairesfernando sonego
 
Patrones arquitectónicos y mejores prácticas de "big data" en AWS - MXO203 - ...
Patrones arquitectónicos y mejores prácticas de "big data" en AWS - MXO203 - ...Patrones arquitectónicos y mejores prácticas de "big data" en AWS - MXO203 - ...
Patrones arquitectónicos y mejores prácticas de "big data" en AWS - MXO203 - ...Amazon Web Services
 
Genesis Suite Server
Genesis Suite ServerGenesis Suite Server
Genesis Suite ServerLuis Lesende
 
Comenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWSComenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWSAmazon Web Services LATAM
 
Trabajo fin de master Dirección TI
Trabajo fin de master Dirección TITrabajo fin de master Dirección TI
Trabajo fin de master Dirección TIManolo Crespo
 
Azure Realtime analytics: Análisis de datos en tiempo real
Azure Realtime analytics: Análisis de datos en tiempo realAzure Realtime analytics: Análisis de datos en tiempo real
Azure Realtime analytics: Análisis de datos en tiempo realSoftware Guru
 
Orquestación de Microservicios Introducción a arquitecturas de desarrollo mod...
Orquestación de Microservicios Introducción a arquitecturas de desarrollo mod...Orquestación de Microservicios Introducción a arquitecturas de desarrollo mod...
Orquestación de Microservicios Introducción a arquitecturas de desarrollo mod...ssuserc860fb
 
Commit conf arquitectura-microservicios_v1.0
Commit conf  arquitectura-microservicios_v1.0Commit conf  arquitectura-microservicios_v1.0
Commit conf arquitectura-microservicios_v1.0Alfredo García Lavilla
 
Dynamics saturday madrid 2019 web api
Dynamics saturday madrid 2019   web apiDynamics saturday madrid 2019   web api
Dynamics saturday madrid 2019 web apiDemian Raschkovan
 
.Net Conf UY 2017: Un paseo por Azure Service Fabric
.Net Conf UY 2017: Un paseo por Azure Service Fabric.Net Conf UY 2017: Un paseo por Azure Service Fabric
.Net Conf UY 2017: Un paseo por Azure Service FabricGuillermo Javier Bellmann
 
Open platform - Conferencia Esri 2016
Open platform  - Conferencia Esri 2016Open platform  - Conferencia Esri 2016
Open platform - Conferencia Esri 2016Esri España
 
Arquitecturas Serverless con IoT, Machine Learning y Asistentes de Voz
Arquitecturas Serverless con IoT, Machine Learning y Asistentes de VozArquitecturas Serverless con IoT, Machine Learning y Asistentes de Voz
Arquitecturas Serverless con IoT, Machine Learning y Asistentes de VozAmazon Web Services LATAM
 
04 17-2021 - procesando modelos tabulares global azure latam
04 17-2021 - procesando modelos tabulares global azure latam04 17-2021 - procesando modelos tabulares global azure latam
04 17-2021 - procesando modelos tabulares global azure latamGaston Cruz
 

Similar a Futbol multi-screen con Azure SignalR Services (20)

Derribando la torre de marfil - Plain Concepts Dev Day
Derribando la torre de marfil - Plain Concepts Dev DayDerribando la torre de marfil - Plain Concepts Dev Day
Derribando la torre de marfil - Plain Concepts Dev Day
 
Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...
Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...
Arquitecturas y estrategias para generar aplicaciones modernas en AWS - MXO20...
 
Azure bootcampo 2019 start up_v1
Azure bootcampo 2019 start up_v1Azure bootcampo 2019 start up_v1
Azure bootcampo 2019 start up_v1
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
ROS-RoboMaker-ROS2-Spanish-Presentation
ROS-RoboMaker-ROS2-Spanish-PresentationROS-RoboMaker-ROS2-Spanish-Presentation
ROS-RoboMaker-ROS2-Spanish-Presentation
 
Novedades .Net Core - NetBaires
Novedades .Net Core - NetBairesNovedades .Net Core - NetBaires
Novedades .Net Core - NetBaires
 
Patrones arquitectónicos y mejores prácticas de "big data" en AWS - MXO203 - ...
Patrones arquitectónicos y mejores prácticas de "big data" en AWS - MXO203 - ...Patrones arquitectónicos y mejores prácticas de "big data" en AWS - MXO203 - ...
Patrones arquitectónicos y mejores prácticas de "big data" en AWS - MXO203 - ...
 
Genesis Suite Server
Genesis Suite ServerGenesis Suite Server
Genesis Suite Server
 
Comenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWSComenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWS
 
Trabajo fin de master Dirección TI
Trabajo fin de master Dirección TITrabajo fin de master Dirección TI
Trabajo fin de master Dirección TI
 
Azure Realtime analytics: Análisis de datos en tiempo real
Azure Realtime analytics: Análisis de datos en tiempo realAzure Realtime analytics: Análisis de datos en tiempo real
Azure Realtime analytics: Análisis de datos en tiempo real
 
Orquestación de Microservicios Introducción a arquitecturas de desarrollo mod...
Orquestación de Microservicios Introducción a arquitecturas de desarrollo mod...Orquestación de Microservicios Introducción a arquitecturas de desarrollo mod...
Orquestación de Microservicios Introducción a arquitecturas de desarrollo mod...
 
Commit conf arquitectura-microservicios_v1.0
Commit conf  arquitectura-microservicios_v1.0Commit conf  arquitectura-microservicios_v1.0
Commit conf arquitectura-microservicios_v1.0
 
Dynamics saturday madrid 2019 web api
Dynamics saturday madrid 2019   web apiDynamics saturday madrid 2019   web api
Dynamics saturday madrid 2019 web api
 
.Net Conf UY 2017: Un paseo por Azure Service Fabric
.Net Conf UY 2017: Un paseo por Azure Service Fabric.Net Conf UY 2017: Un paseo por Azure Service Fabric
.Net Conf UY 2017: Un paseo por Azure Service Fabric
 
Open platform - Conferencia Esri 2016
Open platform  - Conferencia Esri 2016Open platform  - Conferencia Esri 2016
Open platform - Conferencia Esri 2016
 
Arquitecturas Serverless con IoT, Machine Learning y Asistentes de Voz
Arquitecturas Serverless con IoT, Machine Learning y Asistentes de VozArquitecturas Serverless con IoT, Machine Learning y Asistentes de Voz
Arquitecturas Serverless con IoT, Machine Learning y Asistentes de Voz
 
04 17-2021 - procesando modelos tabulares global azure latam
04 17-2021 - procesando modelos tabulares global azure latam04 17-2021 - procesando modelos tabulares global azure latam
04 17-2021 - procesando modelos tabulares global azure latam
 
Reconnect(); // 2015 - DotNetters
Reconnect(); // 2015 - DotNettersReconnect(); // 2015 - DotNetters
Reconnect(); // 2015 - DotNetters
 
Webinar Migración de Forms & Reports a Oracle Cloud
Webinar Migración de Forms & Reports a Oracle CloudWebinar Migración de Forms & Reports a Oracle Cloud
Webinar Migración de Forms & Reports a Oracle Cloud
 

Último

Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 

Último (20)

Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 

Futbol multi-screen con Azure SignalR Services

  • 1. October 4th, 5th & 6th 2018.NET Conf AR v2018 Futbol multi-screen con Azure SignalR Service Ing. Jose A. Fernandez Tech Lead @fernandezja
  • 2. October 4th, 5th & 6th 2018.NET Conf AR v2018 Agenda • SignalR • Que es? Que versiones existen? • Diferencias/Cambios • Ping charla v2017 #NETConfAR • Performance/Escalamiento • Demo • Azure SignalR Service • Configuracion • Conexiones
  • 3. October 4th, 5th & 6th 2018.NET Conf AR v2018 SignalR. Que es? Repasando • Apps en real-time increíblemente simple para .NET • Provee una capa de abstracción sobre algunos de los transportes • API Hubs para server-based push hacia web clients • Clientes for JavaScript/Typescript, C#, C++, & Java • Tipo de Conexiones… • Forever Frames • ServerSentEvent • LongPolling • Websockets
  • 4. October 4th, 5th & 6th 2018.NET Conf AR v2018 SignalR a la carta • Dos versiones ASP.NET SignalR ASP.NET Core SignalR
  • 5. October 4th, 5th & 6th 2018.NET Conf AR v2018 ASP.NET SignalR / ASP.NET Core SignalR ASP.NET SignalR ASP.NET Core SignalR Server NuGet Package Microsoft.AspNet.SignalR Microsoft.AspNetCore.App (.NET Core) Microsoft.AspNetCore.SignalR (.NET Framework) Client NuGet Packages Microsoft.AspNet.SignalR.Client Microsoft.AspNet.SignalR.JS Microsoft.AspNetCore.SignalR.Client Client npm Package signalr @aspnet/signalr Server App Type ASP.NET (System.Web) or OWIN Self-Host ASP.NET Core Supported Server Platforms .NET Framework 4.5 or later .NET Framework 4.6.1 or later .NET Core 2.1 or later https://docs.microsoft.com/en-us/aspnet/core/signalr/version-differences?view=aspnetcore-2.1
  • 6. October 4th, 5th & 6th 2018.NET Conf AR v2018 Ping to! Charla de v2017 #NETConfAR • Aplicaciones en tiempo real con SignalR Core https://youtu.be/EeAODcaeoqA • Florencia Nodar • Nicolas Granata
  • 7. October 4th, 5th & 6th 2018.NET Conf AR v2018 Cambios • Reconexiones automáticas. • No se admiten • Protocolos de mensajes • JSON • MessagePack (binario) • … y se puede extender • Streaming
  • 8. October 4th, 5th & 6th 2018.NET Conf AR v2018 SignalR ¿Dónde se ejecuta?
  • 9. October 4th, 5th & 6th 2018.NET Conf AR v2018 Donde se ejecuta? • Para aplicaciones .NET… • en nuestra apps, • en el mismo contexto • ¿Y si vamos a recibir miles de mensajes por segundo? • Tenemos que escalar? Como? • Garantizar que el rendimiento no se vea obstaculizado por la generación de tráfico de red innecesario.
  • 10. October 4th, 5th & 6th 2018.NET Conf AR v2018 Escalando SignalR mmm!
  • 11. October 4th, 5th & 6th 2018.NET Conf AR v2018 Escalando SignalR • Regulación de frecuencia de mensajes • Cantidad de mensajes por segundo • Pool de mensajes. Queue… y enviar en un rate adecuado • Reducir el tamaño del mensaje • Ver el objeto de transferencia (DTO). • Propiedades… socialización • Propiedades… nombres • MessagePack!
  • 12. October 4th, 5th & 6th 2018.NET Conf AR v2018 Escalando/Performance SignalR • Regulación de frecuencia de mensajes • Cantidad de mensajes por segundo • Pool de mensajes. Queue… y enviar en un rate adecuado • Reducir el tamaño del mensaje • Ver el objeto de transferencia (DTO). • Propiedades… socialización • Propiedades… nombres • MessagePack!
  • 13. October 4th, 5th & 6th 2018.NET Conf AR v2018 Escalando/Performance SignalR • Ajuste de su servidor SignalR …rendimiento • DefaultMessageBufferSize • Por Default … SignalR conserva 1000 mensajes en memoria por Hub por conexión • Mensajes grandes? • Ajustes de configuración de IIS • Max concurrent requests per application • ApplicationPool QueueLength cd %windir%System32inetsrv appcmd.exe set config /section:system.webserver/serverRuntime /appConcurrentRequestLimit:10000
  • 14. October 4th, 5th & 6th 2018.NET Conf AR v2018 Escalando/Performance SignalR • ASP.NET Configuracion de la Apps • Maximum concurrent requests per CPU • Request Queue Limit <configuration> <system.web> <applicationPool maxConcurrentRequestsPerCPU="20000" /> </system.web> </configuration> <processModel autoConfig="false" requestQueueLimit="250000" />
  • 15. October 4th, 5th & 6th 2018.NET Conf AR v2018 Scale out SignalR https://docs.microsoft.com/en-us/aspnet/signalr/overview/performance/scaleout-in-signalr + Servers Con Backplane
  • 16. October 4th, 5th & 6th 2018.NET Conf AR v2018 SignalR Backplanes • Azure Service Bus • Redis • SQL Server
  • 17. October 4th, 5th & 6th 2018.NET Conf AR v2018 Ops! Operaciones Infraestructura
  • 18. October 4th, 5th & 6th 2018.NET Conf AR v2018 MessagePack en ASP.NET Core SignalR • It's like JSON. but fast and small. • https://msgpack.org/
  • 19. October 4th, 5th & 6th 2018.NET Conf AR v2018 Streaming en ASP.NET Core SignalR • Admite la transmisión streaming desde el servidor • Util….cuando los fragmentos de datos llegaran en un lapso de tiempo. • Cada fragmento se envía al cliente tan pronto como está disponible
  • 20. October 4th, 5th & 6th 2018.NET Conf AR v2018 Streaming en ASP.NET Core SignalR
  • 21. October 4th, 5th & 6th 2018.NET Conf AR v2018 Demo
  • 22. October 4th, 5th & 6th 2018.NET Conf AR v2018
  • 23. October 4th, 5th & 6th 2018.NET Conf AR v2018 Demo
  • 24. October 4th, 5th & 6th 2018.NET Conf AR v2018 Demo http://bit.ly/soccer-signalr
  • 25. October 4th, 5th & 6th 2018.NET Conf AR v2018 Azure SignalR Service https://azure.com/signalr
  • 26. October 4th, 5th & 6th 2018.NET Conf AR v2018 Azure SignalR Service https://azure.com/signalr • Es un servicio completamente administrado • Permite utilizar ASP.NET Core SignalR para crear app que requieran experiencias e interacciones en tiempo real • Como chat, live panels, gráficos, futbol... • Sin preocuparse por • el aprovisionamiento de la capacidad, • el escalamiento • o las conexiones persistentes.
  • 27. October 4th, 5th & 6th 2018.NET Conf AR v2018
  • 28. October 4th, 5th & 6th 2018.NET Conf AR v2018
  • 29. October 4th, 5th & 6th 2018.NET Conf AR v2018 Azure SignalR Service… Rápido y Sencillo Centrado en el negocio Potencial con otros servicios
  • 30. October 4th, 5th & 6th 2018.NET Conf AR v2018 Si ya utilizamos SignalR …. • Paquete Microsoft.Azure.SignalR (Core) ...Microsoft.Azure.SignalR.AspNet • Configuración Liviana (en Startup) Rápido y Sencillo
  • 31. October 4th, 5th & 6th 2018.NET Conf AR v2018 Si ya utilizamos SignalR …. • ConectionString 1. Environment Variable • Azure:SignalR:ConnectionString • Azure__SignalR__ConnectionString 2. Param en AddAzureSignalR(“…”) Rápido y Sencillo
  • 32. October 4th, 5th & 6th 2018.NET Conf AR v2018 Cliente…. • Mismo cliente de ASP.NET SignalR Core npm install @aspnet/signalr <script src="/lib/signalr/signalr.js"></script>
  • 33. October 4th, 5th & 6th 2018.NET Conf AR v2018 Cliente…. • Misma configuración • No hay nada exclusivo de Azure SignalR
  • 34. October 4th, 5th & 6th 2018.NET Conf AR v2018 Demo
  • 35. October 4th, 5th & 6th 2018.NET Conf AR v2018 Conexiones del Servidor: Azure SignalR Service • Expone endpoints por cada Hubs • Responderá los request de conexiones • Redirección al app service • App server al iniciar el SDK abrirá 5 conexiones websockets con el servicio de SignalR • Siempre debe estar conectadas !! • Si se desconecta, se cae todos los clientes • Se auto reconecta
  • 36. October 4th, 5th & 6th 2018.NET Conf AR v2018 Conexiones de Clientes: Azure SignalR Service • Los clientes se conectan al Servicio …en lugar del app server • Proceso Cliente Request 1. Envía una solicitud de negociación al app server 2. Con el SDK de Azure SignalR Service, el app server devolverá una respuesta de negociación de redireccionamiento 1. …con la URL del servicio de SignalR y el token de acceso.
  • 37. October 4th, 5th & 6th 2018.NET Conf AR v2018 Transporte de Datos: Azure SignalR Service • Cliente se conectan al servicio • Es valido hasta… • El cliente se desconecte • o el servidor de apps se desconecte • Es una capa de transporte lógico • Entre app server y clientes • Todas las conexiones Azure SignalR • El App Server lógica de Hubs
  • 38. October 4th, 5th & 6th 2018.NET Conf AR v2018 Escalar Apps Services… A tener en cuenta • Las conexiones van fuera del aplicación • Pero la lógica de los Hubs todavía va a ser necesario escalar • Cuando tendremos una carga significativa
  • 39. October 4th, 5th & 6th 2018.NET Conf AR v2018 Escalar Apps Services… • Varios app servers pueden conectarse a la misma instancia del Azure SignalR. • Mismo nombre de clase del Hub • Se agrupan en el mismo Hub • Cada conexión/cliente • Se creara un uno solo app server • Los mensajes del cliente se enviaran al mismo app server • ¿Queremos acceder a Info del cliente globalmente? • … Algun storage para read/write
  • 40. October 4th, 5th & 6th 2018.NET Conf AR v2018 Personalizando Configuración services.AddSignalR() .AddAzureSignalR(options => { options.ConnectionCount = 15; options.AccessTokenLifetime = TimeSpan.FromDays(1); options.ClaimsProvider = context => context.User.Claims; });
  • 41. October 4th, 5th & 6th 2018.NET Conf AR v2018 Azure SignalR Service • Disponibilidad para utilizar con ASP.NET Core SignalR • Todavía en public preview para ASP.NET SignalR • Azure Functions binding • https://github.com/Azure/azure-functions-signalrservice-extension September 24, 2018 Azure SignalR Service now generally available https://azure.microsoft.com/en-us/blog/azure-signalr-service-now-generally-available/
  • 42. October 4th, 5th & 6th 2018.NET Conf AR v2018 Lista de Deseos… para la Demo. • Soporte para recordar ID de pantalla en el browser • Reconexión • Mejorar la UI (Arcos, Gol) • Mosaico mas amplio • Extender ejemplo … • Imágenes, Big-Screen • #CosmosDB • Serverless #AzureFunctions • SaaS
  • 43. October 4th, 5th & 6th 2018.NET Conf AR v2018 Muchas Gracias!
  • 44. October 4th, 5th & 6th 2018.NET Conf AR v2018 Enlaces • https://azure.com/signalr • https://docs.microsoft.com/en-us/azure/azure-signalr/ • https://github.com/fernandezja/soccer-multi-screen- signalr/tree/master
  • 45. October 4th, 5th & 6th 2018.NET Conf AR v2018 Muchas Gracias!  https://github.com/fernandezja @fernandezja Ing. Jose A. Fernandez https://www.linkedin.com/in/fernandezja/

Notas del editor

  1. API interfaces and behaviors are different
  2. Con el servicio Azure SignalR, agregar comunicaciones en tiempo real a su aplicación web es tan simple como aprovisionar un servicio, ¡no es necesario que sea un gurú de las comunicaciones en tiempo real! No tiene que aprovisionar y mantener servidores solo porque necesita funciones en tiempo real en su solución. El servicio SignalR se administra completamente, lo que facilita la adición de funciones de comunicación en tiempo real a su aplicación. ¡No se preocupe más por el alojamiento, la escalabilidad, el equilibrio de carga y tales detalles! ¡Benefíciese de todo lo que Azure tiene para ofrecer! Se integra fácilmente con servicios como Azure Functions, Azure Active Directory, Azure Storage, Azure App Service, Azure Analytics, Power BI, IoT, Servicios cognitivos, Machine Learning y más.
  3. Microsoft.Azure.SignalR Microsoft.Azure.SignalR.AspNet dotnet add package Microsoft.Azure.SignalR --version 1.0.*
  4. services.AddSignalR() .AddAzureSignalR(<replace with your connection string>); or services.AddSignalR() .AddAzureSignalR(options => options.ConnectionString = <replace with your connection string>);
  5. {      "url": "https: //test.service.signalr.net: 5001 / client /? hub = chat & ...",      "accessToken": "<un token JWT típico>",      "AvailableTransports": [] }
  6. {      "url": "https: //test.service.signalr.net: 5001 / client /? hub = chat & ...",      "accessToken": "<un token JWT típico>",      "AvailableTransports": [] }
  7. ConnectionCount Esta opción controla el número de conexiones entre el servidor de aplicaciones y el servicio Azure SignalR AccessTokenLifetime El valor predeterminado es 1 hora. Esta opción controla la vida útil válida del token de acceso, que es generado por Service SDK para cada cliente. El token de acceso se devuelve en la respuesta a la solicitud de negociación del cliente. Cuando se utiliza ServerSentEvent o LongPolling como transporte, la conexión del cliente se cerrará debido a un error de autenticación después del tiempo de caducidad. Puede aumentar este valor para evitar la desconexión del cliente. ClaimsProvider Esta opción controla los reclamos que desea asociar con la conexión del cliente. Se utilizará cuando Service SDK genere un token de acceso para el cliente en la solicitud de negociación del cliente. De forma predeterminada, todas las reclamaciones de HttpContext.User de la solicitud de negociación estarán reservadas. Se puede acceder a ellos en Hub.Context.User.