On 26/04/14 14:46, Chema Cortes wrote: > No sé si usarás un modelo Linda en tu "tablón de anuncios", pero este > modelo no es precisamente de *"escabilidad infinita"*. Era su punto > flaco, que al crecer el número de procesos el sincronismo del > tuple-space ralentizaba bastante y hacía perder disponibilidad.
Conozco el teorema CAP. En mi caso uso la idea del tablón de anuncios para enviar trabajos a los "workers". Son trabajos idempotentes. La escalabilidad la obtengo aumentando el número de "workers" y de tablones, y la redundancia igual. Lo peor que puede pasar es que un tablón quede inaccesible y sus trabajos pendientes (o las respuestas) se pierdan. Como el trabajo es idempotente, el cliente simplemente lo vuelve a postear de nuevo en otro sitio. Si fue una falsa alarma, tendremos un resultado duplicado, que es muy esporádico y que no me causa problemas precisamente por el tema de idempotencia. Por ejemplo, el correo electrónico puede postar en el tablón un email y pedir un análisis antivirus o antispam. Esta actividad es claramente idempotente :-). O, en otro proyecto, generación de "tiles" para mapas. Como siempre, todo depende de la aplicación :). Lo que te dice el teorema CAP, relevante a esta discusión, es que la red puede particionarse. En mi contexto las particiones no afectan mi disponibilidad. Pero yo estoy hablando de workers de trabajos idempotentes, no de almacenamiento. La consistencia no me afecta, porque los trabajos no requieren coordinación ni información 100% consistente (el ejemplo del antivirus o de los mapas). La disponibilidad se resuelve con la detección de caídas de tablones y nuevo posteo de la petición. Lo peor que puede pasar es que se reciban duplicados, triviales de eliminar. En resumen, la aplicación está cuidadosamente diseñada, y mi problema me permite gestionar el trabajo así. Mi problema no es el de facebook, es el de OpenStreetMap y sus tiles :). En realidad no uso múltiples tablones, sino un tablón distribuido con ésto por debajo: http://www.spread.org/ . Lo tengo en producción hace lo menos 10 años, posiblemente más. -- Jesús Cea Avión _/_/ _/_/_/ _/_/_/ [email protected] - http://www.jcea.es/ _/_/ _/_/ _/_/ _/_/ _/_/ Twitter: @jcea _/_/ _/_/ _/_/_/_/_/ jabber / xmpp:[email protected] _/_/ _/_/ _/_/ _/_/ _/_/ "Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ "My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/ "El amor es poner tu felicidad en la felicidad de otro" - Leibniz
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Python-es mailing list [email protected] https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
