SlideShare una empresa de Scribd logo
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 Day
Plain 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_v1
fernando sonego
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
Rodolfo Finochietti
 
ROS-RoboMaker-ROS2-Spanish-Presentation
ROS-RoboMaker-ROS2-Spanish-PresentationROS-RoboMaker-ROS2-Spanish-Presentation
ROS-RoboMaker-ROS2-Spanish-Presentation
Camilo Buscaron
 
Novedades .Net Core - NetBaires
Novedades .Net Core - NetBairesNovedades .Net Core - NetBaires
Novedades .Net Core - NetBaires
fernando 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 Server
Luis Lesende
 
Comenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWSComenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWS
Amazon 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 TI
Manolo 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 real
Software 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.0
Alfredo 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 api
Demian 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 Fabric
Guillermo Javier Bellmann
 
Open platform - Conferencia Esri 2016
Open platform  - Conferencia Esri 2016Open platform  - Conferencia Esri 2016
Open platform - Conferencia Esri 2016
Esri 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 Voz
Amazon 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 latam
Gaston Cruz
 
Reconnect(); // 2015 - DotNetters
Reconnect(); // 2015 - DotNettersReconnect(); // 2015 - DotNetters
Reconnect(); // 2015 - DotNetters
Roberto Sanz Ciriano
 
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
avanttic Consultoría Tecnológica
 

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

MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
Ing. Julio Iván Mera Casas
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
AMADO SALVADOR
 
Trabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De ProgramaciónTrabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De Programación
SofiaCollazos
 
algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1
yuki22434
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
absorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratoriosabsorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratorios
JuanAlvarez413513
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
cbtechchihuahua
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
julio05042006
 
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
alejandromanuelve
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Festibity
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
sofiahuarancabellido
 
Presentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The CleanPresentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The Clean
juanchogame18
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
mantenimientocarbra6
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Festibity
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
bendezuperezjimena
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
LilibethEstupian
 

Último (20)

MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
 
Trabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De ProgramaciónTrabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De Programación
 
algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
absorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratoriosabsorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratorios
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
 
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
 
Presentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The CleanPresentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The Clean
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
 

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.