Como Funciona la CDN de Facebook
Facebook es una de las redes sociales más populares en el mundo.
Para gestionar los datos de su plataforma, hace uso de tecnologías especiales como una CDN.
En este artículo aprenderás Como Funciona la CDN de Facebook, vamos con ello.
La información que te compartiré la he obtenido se la misma página oficial de Facebook Research.
Y desmenuzaremos los aspectos más importantes del funcionamiento de su CDN.
Sistema de Caché
Facebook denomina a su propia CDN como FBCDN (Facebook Content Distribution Network).
Su CDN permite que las fotos y videos de los usuarios de Facebook se distribuyan de manera óptima.
Usa los sistemas de caché Haystack, f4 y Memcached (alternativa a Redis) para almacenar la información.
Haystack y f4 almacenan los contenidos en unidades de estado sólido (SSD), basadas en NAND-flash.
Las unidades de estado sólido (SSD), pueden almacenar en caché muchas más fotos que una unidad de memoria DRAM.
Sistema RIPQ
En sus primeras implementaciones de caché, Facebook comenzó usando McDipper y BlockCache.
En la actualidad usa el sistema RIPQ (Restricted Insertion Priority Queue), que permite un almacenamiento en cache avanzado en Flash.
Las palabras Restricted Insertion Priority Queue (RIPQ) traducidas al español significan Cola de Prioridad de Inserción Restringida.
RIPQ le proporciona a Facebook una interfaz de colas o queues con prioridad relativa para sus tareas de cacheado y distribución de contenido.
El sistema RIPQ permite la implementación de grandes clases de algoritmos de almacenamiento en caché como LRU, LRU segmentado y Greedy Dual Size Frequency.
La interfaz del sistema RIPQ proporciona tres operaciones básicas:
- insert (x, p): Aquí x es un elemento que se desea poner en la cola, es decir insertar en la caché y p es el número de prioridad relativa, entre 0 y 1, para especificar que tan importante es este elemento.
- increase (x, p’): Aquí se aumenta la prioridad del elemento x desde su valor actual, es decir p, a un valor superior p’.
- delete-min(): Expulsa de la cola el elemento con el valor de prioridad más pequeño. Solo se llama cuando la cola está llena.
Los algoritmos creados por los ingenieros de Facebook, esta optimizados para funcionar de manera fluida con el sistema RIPQ.
Como Funciona la CDN de Facebook
La FBCDN se encuentra distribuida en diferentes servidores alrededor del mundo.
Cuando el usuario envía una foto, video u otro contenido a su feed o muro de publicaciones.
La información es enviada mediante GraphQL a un servidor con stack LAMPP (Linux, Apache, MySQL, PHP).
Algunos de los datos son almacenados en una base de datos Apache Cassandra y también en MySQL.
El código de Facebook es acelerado por una máquina virtual HipHop (HHVM).
HHVM convierte el código PHP nativo en código de bytes y posteriormente lo transforma en código de máquina legible.
Los contenidos publicados por el usuario son almacenadas en Haystack como objetos.
Luego el sistema RIPQ obtiene esos datos y los coloca en una cola o queue para ser distribuidos en el momento oportuno.
Más adelante estos datos se muestran en la vista Front-End usando GraphQL y la librería React JS.
En la siguiente imagen puedes ver Como Funciona la CDN de Facebook:
Así es Como Funciona la CDN de Facebook.
Conclusión
En este artículo has conocido Como Funciona la CDN de Facebook.
Te dará una idea de como las grandes corporaciones optimizan sus procesos de entrega de contenidos.
Tu también puedes crear este tipo de infraestructura, solo debes ser disciplinado y constante.
Nota(s)
- No olvides que debemos usar la Tecnología para hacer cosas Buenas por el Mundo.
Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos.
- CDNs
- 21-04-2024
- 23-04-2024
- Crear un Post - Eventos Devs - Foro
Social
Redes Sociales (Developers)
Redes Sociales (Digital)