Long polling vs Websockets vs Server-Sent Events | Enviar datos desde un servidor web

  Рет қаралды 14,530

Manuel Zapata

Manuel Zapata

Күн бұрын

Пікірлер: 65
@treblaoj
@treblaoj 2 жыл бұрын
De verdad adoro este canal, el contenido es muy educativo y me permite complementar lo que aprendo de codigo para entender de manera general cuando usar una metodología de diseño u otra. Gracias por los videos!
@johnpazherrera4553
@johnpazherrera4553 4 жыл бұрын
Gracias Manuel , saludos desde Peru a la tierrita Colombiana , es un pais hermoso
@ManuelZapata
@ManuelZapata 4 жыл бұрын
Un país hermoso! Saludos desde Medellín, Jhon
@AndresLobaton
@AndresLobaton 4 жыл бұрын
Esto es mucha coincidencia. Precisó estaba investigando este tema. Excelente Manuel, gracias
@ManuelZapata
@ManuelZapata 4 жыл бұрын
vea pues. Buena coincidencia. Saludos!
@ajl640
@ajl640 10 ай бұрын
excelete me encanto
@thomaslaura1992
@thomaslaura1992 4 жыл бұрын
Seria genial tambien revisar el tema de comunicación servicio-servicio, podrias revisar RSocket o GRPC. Gran video
@ManuelZapata
@ManuelZapata 4 жыл бұрын
Ese es un tema interesante. Lo anoté en mi lista de videos pendientes.
@NicoILeone
@NicoILeone 3 жыл бұрын
Muchas gracias Manuel! Justo lo que necesitaba. Te consulto a ver que opinas y si puedes responder, tengo que enviar mediante Fetch API un formData al backend PHP donde también se va a procesar un archivo .csv mediano, con bastantes registros. Necesito segmentar los procesos ya que se van a correr muchas reglas que modifican la data ingresada. Para eso corro el riesgo de que el timeout me cierre la conexión, qué me sugieres? ya que estuve viendo SSE pero no soporta envíos POST o habría que implementar otros trucos para resolverlo. Muchas gracias! Saludos!
@marfdz6624
@marfdz6624 2 жыл бұрын
Muy interesante el tema Tu que sugieres usar El cliente debe descargar un archivo cuál es el mejor método para hacerlo ?
@SimaDamian
@SimaDamian 4 жыл бұрын
Muy bien explicado!
@jacguerrag
@jacguerrag 4 жыл бұрын
Muy buena explicacion! consulta, dos servicios web socket se puede comunicar entre si sin problemas?
@noeliafernanda1061
@noeliafernanda1061 Жыл бұрын
Hola 🖐️ Websockets es o se considera programación reactiva..??? 🤔
@emersonvallejo1102
@emersonvallejo1102 4 жыл бұрын
Hola Manuel muchas gracias por compartirnosbtu conocimiento, pero me queda la duda si SignaIr entraria tambien en estas tecnologias porque veo que no lo nombras.
@albertomerchanc2855
@albertomerchanc2855 4 жыл бұрын
Buena pregunta
@ManuelZapata
@ManuelZapata 4 жыл бұрын
SignalR es una implementación de estos conceptos. Igual que socket.io. Por ejemplo, con SignalR puedes tener websockets implementados.
@jasonfsx7155
@jasonfsx7155 4 жыл бұрын
@Ernesto Vallejo SignalR podría considerarse un Framework que utiliza los 3 conceptos mencionados en el vídeo. Lo interesante de SignalR es que es capaz de adaptarse a las necesidades del cliente para utilizar la opción adecuada para realizar la comunicación en tiempo real, lo que a ti como desarrollador te libera de todo ese trabajo manual de adaptar tu solución a cada tipo de cliente. Desde mi experiencia personal SignalR es un herramienta muy buena y poderosa y que recomiendo ampliamente. Te invito a que leas la documentación de la misma y puedas llevarla a la práctica para que lo cheques por ti mismo. Saludos desde México
@emersonvallejo1102
@emersonvallejo1102 4 жыл бұрын
@@jasonfsx7155 Gracias, super tu explicación.
@jasonfsx7155
@jasonfsx7155 4 жыл бұрын
@@emersonvallejo1102 No hay de que, para eso estamos. Siempre he dicho que si hay algo en lo que pueda ayudar aquí estoy a la orden, y si no lo sé, lo investigamos juntos jaja Saludos!!
@johncerpa3782
@johncerpa3782 4 жыл бұрын
Excelente video!!
@noeliafernanda1061
@noeliafernanda1061 Жыл бұрын
Hola Manuel, buen video 👍 Pero que me recomiendas usar para el siguiente caso: Yo como supervisor tengo una página web que me muestra un listado con los registros de las ventas del día. Ahora, cada vez que uno de los 3 vendedores realiza una venta, ese listado que yo veo se actualiza o incrementa con ese nuevo registro de venta de forma automática. Que me recomiendas para esto.....????? 🤔🤔🤔 Agradecería tu respuesta
@CragCode
@CragCode 4 жыл бұрын
Exelente video gracias por compartir
@ManuelZapata
@ManuelZapata 4 жыл бұрын
Con gusto!
@CragCode
@CragCode 4 жыл бұрын
@@ManuelZapata se agradece.
@selvin_medina
@selvin_medina 4 жыл бұрын
Muchas gracias!!!
@ManuelZapata
@ManuelZapata 4 жыл бұрын
Con gusto Selvin!
@angelbelaunde9704
@angelbelaunde9704 2 жыл бұрын
Genial, buen vídeo. Podrías hablar de los websockets en AWS Serverless, en lo personal es un infierno trabajar con los websockets de aws serverless.
@maximilianominetto524
@maximilianominetto524 4 жыл бұрын
Buenas Manuel, como estás? Espero que hayas descansado. Te notifico que mi proyecto lo voy a hacer con Apache Kafka, el sistema de eventos por reunión. Explicaste de manera excelente su fundamentación. Te mantengo al tanto. Saludos, Arquitecto.
@ManuelZapata
@ManuelZapata 4 жыл бұрын
Excelente Maximiliano! Me cuentas como te va. Apache Kafka es brutal.
@JohanReneGarciaMonsalve
@JohanReneGarciaMonsalve 4 жыл бұрын
@@ManuelZapata huy me perdi el video donde explicas Apache Kafka :( donde esta por favor!!!
@ManuelZapata
@ManuelZapata 4 жыл бұрын
@@JohanReneGarciaMonsalve ese video no existe Johan! Solo he mencionado por ahi en un par de lives.
@JohanReneGarciaMonsalve
@JohanReneGarciaMonsalve 4 жыл бұрын
@@ManuelZapata lo sospechaba sería super si nos compartieras uno de kafka, la verdad es q vos explicas super bien y casi no hay vídeos buenos de eso.
@raptorhack6851
@raptorhack6851 3 жыл бұрын
una pregunta Como puedo subir un websocket php a un servidor web como por ejemplo 000wehost ?
@LuisAngel.A.P
@LuisAngel.A.P 3 жыл бұрын
amigo necesito de tu ayuda acabo de crear una pagina web lo único que le falta es colocarlo arriba en su menú su saldo ganado en varias offerwalls
@JulianAndresGuarinReyes
@JulianAndresGuarinReyes 4 жыл бұрын
SSE, abre conexiones?
@carlosdavila4999
@carlosdavila4999 4 жыл бұрын
Con firestore database tambien lo haces y es barato
@jusehtquispe
@jusehtquispe 4 жыл бұрын
Y para aplicaciones Desktop, que soluciones hay?. Mil gracias Manuel.
@ManuelZapata
@ManuelZapata 4 жыл бұрын
No tengo mucha experiencia en aplicaciones de escritorio y tiempo real. Supongo que las soluciones deben ser similares mientras el servidor sea web.
@martinalexissamanarata2670
@martinalexissamanarata2670 4 жыл бұрын
Gracias :D
@ManuelZapata
@ManuelZapata 4 жыл бұрын
Con gusto, Martin!
@martinalexissamanarata2670
@martinalexissamanarata2670 4 жыл бұрын
@@ManuelZapata clean architecture, es necesario
@JulianAndresGuarinReyes
@JulianAndresGuarinReyes 4 жыл бұрын
Hay otra tecnologia llamada gRPC (bueno es mas comparable a REST APIs, estoy explorando tu canal, pero seria cheveré que hicieras capitulo de eso)
@emanuelmeza4290
@emanuelmeza4290 3 жыл бұрын
Sería mala practica usar server-sent events con ajax para emular una comunicacion bidireccional para no tener el websocket siempre con la conexion abierta?
@ManuelZapata
@ManuelZapata 3 жыл бұрын
En ese caso, yo mantendría la implementación lo más sencilla posible, usando long pulling.
@emanuelmeza4290
@emanuelmeza4290 3 жыл бұрын
Muchas gracias por responder! Me encantan tus videos
@mariocortes2670
@mariocortes2670 4 жыл бұрын
Hola Manuel. Si entendí bien, por ejemplo si tenemos el siguiente caso de uso: *** Una aplicación web "TodoList" abierta en tres pestañas de Chrome. 1. Si agrego una tarea, con long polling guardo un dato en el servidor pero debo refrescar las tres pestañas para visualizar los cambios. 2. Con websockets inmediatamente veo reflejados los cambios en las tres pestañas. 3. Con SSE pasaria lo mismo que con websockets?
@ManuelZapata
@ManuelZapata 4 жыл бұрын
Hola Mario. En los 3 casos verias la información reflejada en las 3 pestañas, sin tener que refrescar.
@johnnyelcoste
@johnnyelcoste 4 жыл бұрын
excelente video Manuel, me surgió una duda si quisiera implementar un juego(o algo) que se corra en el navegador, pero que sea algo de realtime, que me aconsejas que sea mas escalable? - long polling - web socket - otro? la idea seria que maneje miles de mensajes, yo diria inicialmente que web socket no escalaria bien, pero quisiera tu opinion
@cricarba
@cricarba 4 жыл бұрын
web sockets, o si no va a reventar tu server con peticiones innecesarias.
@johnnyelcoste
@johnnyelcoste 4 жыл бұрын
@@cricarba alguien me había preguntado eso en una entrevista de arquitectura y mi respuesta fue websocket, a lo q me respondió q no era correcta porque no escala bien para miles de conexiones. Desde ese día quedé con la duda del enfoque 'correcto'
@ManuelZapata
@ManuelZapata 4 жыл бұрын
Esa es una muy buena pregunta @Johny. Honestamente, no sé que tan bien escale websockets. Mi experiencia con aplicaciones en producción ha sido con long polling, pero no tenía ese volumen de mensajes.
@pedrosanchez2917
@pedrosanchez2917 4 жыл бұрын
Buen video, sube algo acerca de programacion reactiva con Quarkus y Mutiny. Seria interesante conocer tu opinion
@ManuelZapata
@ManuelZapata 4 жыл бұрын
Gracias por la sugerencia, Pedro! Aunque desafortunadamente no conozco las herramientas y no podría darte una opinión.
@westlymeza8322
@westlymeza8322 4 жыл бұрын
Buenos días Manuel , me surge una duda en cuanto a la implementación de long polling, por el lado del servidor como haríamos? usaríamos una bandera o algo así? para indicar que el frontend debe realizar la petición nuevamente o de que forma pondríamos poner en espera la solicitud del cliente, mientras tengo la info solicitada? algún timer o algo así?, Saludos excelente vídeo
@ManuelZapata
@ManuelZapata 4 жыл бұрын
Hola West! El frontend continua haciendo la solicitud hasta que en su lógica decida no hacerla más. Hay casos donde siempre buscará tener una conexión abierta (como en un chat). En otros casos, no abrirá la conexión después de recibir el dato. Del servidor hay que buscar un mecanismo que no genere una respuesta al cliente, porque eso cierra inmediatamente la conexión.
@everthpintado8256
@everthpintado8256 4 жыл бұрын
se pude hacer aplicaciones en tiempo real con programacion reactiva ? utilizando los observables ?
@ManuelZapata
@ManuelZapata 4 жыл бұрын
No veo porqué no. De hecho, tendría sentido ya que el componente en tiempo real te provee de un flujo de datos continuo que se puede propagar a través de observables.
@armandomartinez443
@armandomartinez443 4 жыл бұрын
Y en cuando a ajax puede entrar dentro de estas opciones o se puede incluir dentro del long polling?
@ManuelZapata
@ManuelZapata 4 жыл бұрын
Ajax como tal no es una opción, porque al final del día implementa el modelo de solicitud/respuesta clásico. Como bien mencionas, lo podrías usar para hacer long polling.
@rodcastillosuarez8291
@rodcastillosuarez8291 2 жыл бұрын
todos dan pura teoria de websockets, nadie muestra como hacer desde 0 -_-
@chinolimpao09
@chinolimpao09 4 жыл бұрын
los efectos de sonidos de la intro están muy altos!
@rodrigoluque1453
@rodrigoluque1453 4 жыл бұрын
Entonces andate a otro canal gil!
@chinolimpao09
@chinolimpao09 4 жыл бұрын
@@rodrigoluque1453 Creo que tu tono en tu respuesta no está alineado con los valores de este canal, este canal es uno educativo, estamos para apoyarnos, no para insultarnos
@ManuelZapata
@ManuelZapata 4 жыл бұрын
Gracias por la retroalimentación! Nos sirve para seguir mejorando. ¿Algo que te haya gustado del video?
Consejos para un desarrollador TypeScript | Invitado: @DominiCode
22:49
Lógica de negocio, ¿va en el cliente o en el servidor?
18:06
Manuel Zapata
Рет қаралды 17 М.
The Lost World: Living Room Edition
0:46
Daniel LaBelle
Рет қаралды 27 МЛН
Andro, ELMAN, TONI, MONA - Зари (Official Audio)
2:53
RAAVA MUSIC
Рет қаралды 8 МЛН
БАБУШКА ШАРИТ #shorts
0:16
Паша Осадчий
Рет қаралды 4,1 МЛН
¿Cómo funcionan ajax y websockets?
19:23
EDteam
Рет қаралды 135 М.
¿Qué es un DTO y cómo mapearlo? | Data Transfer Object
15:54
Manuel Zapata
Рет қаралды 56 М.
6 consejos para que DISEÑES BIEN tu API REST
16:27
Manuel Zapata
Рет қаралды 66 М.
¿Qué es REST? | Te lo explico en 10 minutos
10:40
Manuel Zapata
Рет қаралды 25 М.
5 consejos para que tu API REST sea más seguro
8:01
Manuel Zapata
Рет қаралды 16 М.