es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo manejar el tiempo de espera de WebSockets en Azure App Service?

Tengo 2 instancias de servicios de aplicaciones configuradas en Azure, con una conectando a la otra a través de una conexión WebSocket. Algunas de las conexiones tardan mucho tiempo en ejecutarse (varios minutos) debido al procesamiento requerido. Después de aproximadamente 2 minutos y algunos segundos (supongo que se trata del tiempo de espera inactivo de 230 segundos que tiene Azure), las conexiones expiran con el error ECONNTIMEDOUT. ¿Existe alguna forma de evitar esto con WebSockets? Localmente, todo funciona según lo esperado.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Sí, existen formas de evadir el tiempo de espera inactivo de Azure para las conexiones WebSocket.

    Un enfoque es establecer el valor de mantenimiento en vivo del WebSocket a un intervalo más pequeño que el tiempo de espera inactivo de Azure. Esto garantizará que la conexión se mantenga activa y no se agote el tiempo por parte de Azure.

    Otro enfoque es utilizar el Servicio Azure SignalR. SignalR es una tecnología de comunicación web en tiempo real que permite la comunicación bidireccional entre el servidor y el cliente. Al utilizar SignalR, no te enfrentarás al problema del tiempo de espera inactivo de Azure, ya que las conexiones de SignalR están diseñadas para ser de larga duración.

    Por último, también debes considerar optimizar tu código para reducir el tiempo de procesamiento de estas conexiones de larga duración. Esto no solo ayudará con el problema del tiempo de espera inactivo de Azure, sino que también mejorará el rendimiento general de tu aplicación.

Comments are closed.