Libertonia
Portada · Todo · Software Libre · Desarrolladores · Comunidad · Internet · Tecnología · Meta · Diarios
Ver: Modo: Orden:
No me gustan la Sindicación (los RSS) | 15 comentarios (15 temáticos, editoriales, 0 ocultos)
¿La alternativa? (none / 0) (#6)
por jorginius ("jorginius" en Google Mail) a las Sat May 22nd, 2004 at 11:13:11 AM CET
(Información Usuario) http://www.rodriguezmoreno.com

De todas formas aunque sea menor el tránsito, sigue existiendo el mismo. Sigue siendo una conexión abierta que el servidor ha de atender y si se hace una consulta cada media hora es un trasiego.

Cierto, pero es que usando sólo HTTP como protocolo de transporte no se puede hacer mucho más. A menos que el servidor pueda iniciar conexiones de notificación en los clientes (y eso supone abrir puertos y olvidarse de nat), eso es lo que hay.

En cuanto al sistema de suscripción y notificiación que propones, la implementación que se me ocurre es usar un servicio universal que permita broadcast de mensajes, como Jabber. La sindicación funcionaría de esta manera: añades a tu roster el bot de tal o cual página y éste te avisa si estás presente, avisa a todo su roster, haciendo broadcast de mensajito de tipo "headline" ("headline" es una extensión del mensaje estándar que soportan algunos clientes como Jarl. Screenshot de Jarl leyendo headlines).

Desde el lado del cliente es perfecto, pero desde el lado del servidor no sé si sería muy adecuado (vaya por delante que no soy un experto en Jabber):

Supongamos un sitio web de noticias con un nivel medio de lectores de RSS (unos 10.000 distintos a diario). Eso supone un roster de 10.000 entradas.

El servidor Jabber mantiene una conexión abierta por cada servidor par en el que tengamos al menos un contacto en el roster pero esto no es lo peor, lo peor son los mensajes de presencia: cada vez que enviemos un titular, tendremos el tráfico de sendos mensajes XML (petición/respuesta) por cada contacto disponible en el roster, con sus esperas y la carga despachar 10.000 mensajes distintos en un lapso de tiempo pequeño. Cuando tengamos las respuestas de presencia, empieza el broadcast del mensaje headline (eso sin contar con que es "pseudo-broadcast").

En realidad no sé si esto supondría un problema para el servidor Jabber. JabberRss soporta algo parecido pero no sé su número de usuarios ni que hardware ni que tráfico mueve). Puede que sea peor el remedio que la enfermedad.

Por otra parte, el peso de un mensaje de presencia Jabber es similar al de una petición HTTP o al de una respuesta HTTP que no sirva página (como 304), luego si el tiempo de actualización del sitio es pequeño (Tipo Slashdot, por ejemplo) nos estamos complicando la vida con otro protocolo y otro servidor (desplazando la carga del servidor HTTP al de Jabber) para quedarnos igual que estábamos. Ahora estaremos en el caso en que es más eficiente el polling... Siempre que se haga con GET condicional.

Quizás dependiendo del sitio (SI tiene un número de visitas menos que X... SI tiene servidor de Jabber propio...) un sistema de suscripción como el que describo, "por interrupción", fuera útil. Habría que verlo, pero de todas formas ya no estamos usando sólo HTTP y eso puede ser un problema (cortafuegos que sólo dejan conexiones al puerto 80, tener que desplegar un servidor Jabber, etc).

[ Padre ]


 

No me gustan la Sindicación (los RSS) | 15 comentarios (15 temáticos, editoriales, 0 ocultos)
Ver: Modo: Orden:
Menu
· crear cuenta
· FAQ
· búsqueda
· Fuentes de Noticias

Login
Nueva cuenta
Usuario:
Contraseña:

ecol Logo Powered by Scoop
Todas las Marcas Registradas y copyrights de esta página son propiedad de sus respectivos dueños.
Los comentarios son propiedad del que los escribe.
Los iconos de las noticias y el logotipo son propiedad de Javier Malonda.
El Resto © 2002 Escomposlinux.org y aledaños.

Puedes sindicar los contenidos de libertonia en formato RSS 1.0 y RDF 0.9. También se puede sindicar la cola de envíos pendientes de moderación.

El proyecto escomposlinux.org está dedicado a la memoria de tas

crear cuenta | faq | búsqueda