ver veo reciente puedo publicaciones pestaña pantalla notificaciones noticias mostrar mis las instantáneas instantaneas instantanea informacion derecha carga barra aparece amigos actividad activar c# asp.net

c# - veo - Notificaciones instantáneas como Facebook



no veo las noticias instantaneas (3)

Estoy creando una aplicación social y me preguntaba cómo Facebook lograría sus notificaciones. Como ustedes saben, las notificaciones de facebook son instantáneas. Tan pronto como alguien toma una acción, las personas son notificadas.

Supongo que no tienen una consulta ejecutándose en la base de datos todo el tiempo.

Alguien me puede apuntar en la dirección correcta. Gracias


Es posible que desee echar un vistazo a http://nodejs.org/ : es un modelo basado en eventos que es perfectamente ideal para un escenario de ''redes sociales'' / notificaciones instantáneas.

Para su información: también podría encontrar que usar una base de datos que no sea de SQL como MongoDB (http://www.mongodb.org/) será mucho más rápido cuando realice consultas desde la base de datos, ya que cada objeto "persona" en un escenario de red social tiene sus propios atributos únicos, que en una base de datos SQL normal son difíciles de diseñar.


Facebook utiliza un protocolo de mensajería (que diseñó) llamado Thrift . Esto permite notificaciones de clientes a servidores con muy baja latencia. Me imagino que las actualizaciones en el servidor se activarán en función de la acción del usuario y los usuarios relevantes que hayan iniciado sesión serán notificados por el mismo mecanismo.

Al usar un protocolo de mensajería como el ahorro (también ver Buffer de protocolo ), los clientes no tienen que sondear el servidor en busca de actualizaciones, en su lugar, el servidor puede enviar notificaciones a los clientes. Para hacer esto, el servidor debe tener una idea de quién ha iniciado sesión en cualquier momento (inicio de sesión, cierre de sesión) y quién debe recibir notificaciones de una acción del cliente en particular.

¡Es más fácil decirlo que hacerlo, especialmente cuando tienes 800 millones de usuarios potenciales registrados!


Ya que su pregunta está etiquetada con C #, ASP.NET, debe usar la increíble biblioteca SignalR . Básicamente, SignalR permite enviar notificaciones push a los clientes. La técnica subyacente exacta que utiliza está influenciada por las capacidades del Servidor y el Cliente.

Hay un gran sitio de chat en tiempo real llamado jabbR que se construye sobre SignalR :

http://jabbr.net/

Aquí hay algunos enlaces más que deberían comenzar.