martes, abril 07, 2009

Estructura de distribución de fotografías de Facebook

(vía reddit.programming) Acabo de encontrar un artículo, Facebook's photo storage rewrite, donde se describe el antiguo sistema de almacenamiento de Facebook para las fotografías y como ha evolucionado.

El sistema original usaba servicios de terceros para distribuir los contenidos de sus servidores (Akamai,Limelight), con un sistema de caches construido sobre evhttp y memcached.La información almacenada sobre un sistema de backend de NetApp.

El tipo de datos que se almacenan en el caso de Facebook tiene unas propiedades conretas: Son públicos, se escriben una vez y nunca se borran. Este tipo de datos no necesita tener asociado ningún tipo de informacion como los que llevan asociados un ficheros normal (fecha, permisos, última modificación, etc) para su correcta gestión y uso, pudiéndose ahorrar todas las rutinas que se usan en su gestión.

La nueva arquitectura de almacenamiento de fotografías,Haystack, busca eliminar varios de los inconvenientes de su antiguo sistema de almacenamiento: depender menos de redes de distribución de contenidos y evitar acceso a los servidores de almacenamiento para actualizar la información de metadatos que no se están usando. Ahora, toda la comunicación es http, incluido la comunicación a los servidores de almacenamientos y usa el mismo sistema de cachés, cachr, para acelerar el acceso a los recursos.

Relacionado con este tema, la arquitetura flickr, más información de arquitecturas de alta escabilidad y rendimiento.

Technorati Tags: ,

No hay comentarios: